From: Hamed Date: Sat, 1 Jul 2017 00:30:27 +0000 (-0700) Subject: After resolving conflicts ... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7e9aff902b621b79bfbcaa874cc9adb6549ca720;p=satune.git After resolving conflicts ... --- 7e9aff902b621b79bfbcaa874cc9adb6549ca720 diff --cc src/Backend/satencoder.c index d51a262,3975121..c874c81 --- a/src/Backend/satencoder.c +++ b/src/Backend/satencoder.c @@@ -222,48 -220,8 +222,49 @@@ Constraint * encodePartialOrderSATEncod } Constraint * encodePredicateSATEncoder(SATEncoder * This, BooleanPredicate * constraint) { - //TO IMPLEMENT - + switch(GETPREDICATETYPE(constraint) ){ + case TABLEPRED: + return encodeTablePredicateSATEncoder(This, constraint); + case OPERATORPRED: + return encodeOperatorPredicateSATEncoder(This, constraint); + default: + ASSERT(0); + } + return NULL; +} + +Constraint * encodeTablePredicateSATEncoder(SATEncoder * This, BooleanPredicate * constraint){ + switch(constraint->encoding.type){ + case ENUMERATEIMPLICATIONS: + return encodeEnumTablePredicateSATEncoder(This, constraint); + case CIRCUIT: + ASSERT(0); + break; + default: + ASSERT(0); + } + return NULL; +} + +Constraint * encodeEnumTablePredicateSATEncoder(SATEncoder * This, BooleanPredicate * constraint){ - TableEntry* entries = &(((PredicateTable*)constraint->predicate)->table->entries); ++ VectorTableEntry* entries = &(((PredicateTable*)constraint->predicate)->table->entries); + uint size = getSizeVectorTableEntry(entries); + for(uint i=0; iencoding.type){ + case ENUMERATEIMPLICATIONS: + break; + case CIRCUIT: + break; + default: + ASSERT(0); + } return NULL; }