5 Predicate* allocPredicateOperator(CompOp op, Set ** domain, uint numDomain){
6 PredicateOperator* This = ourmalloc(sizeof(PredicateOperator));
7 GETPREDICATETYPE(This)=OPERATORPRED;
8 initArrayInitSet(&This->domains, domain, numDomain);
13 Predicate* allocPredicateTable(Table* table, UndefinedBehavior undefBehavior){
14 PredicateTable* This = ourmalloc(sizeof(PredicateTable));
15 GETPREDICATETYPE(This) = TABLEPRED;
17 This->undefinedbehavior=undefBehavior;
21 void deletePredicate(Predicate* This){
22 switch(GETPREDICATETYPE(This)) {
24 PredicateOperator * operpred=(PredicateOperator *) This;
25 deleteInlineArraySet(&operpred->domains);
32 //need to handle freeing array...
36 bool evalPredicateOperator(PredicateOperator * This, uint64_t * inputs) {
39 return inputs[0]==inputs[1];
41 return inputs[0]<inputs[1];
43 return inputs[0]>inputs[1];
45 return inputs[0]<=inputs[1];
47 return inputs[0]>=inputs[1];