X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2FTest%2Fbuildconstraints.c;h=e795038dfcacbb48a1d1dab6347f4b20773ae0fb;hb=d1a0b7b6cff4bb74c4df4ff0d0d8384db136141d;hp=23d943c7344137bb068dbe3ff5344bad4a97dcb8;hpb=7876628e026da234bbb83a17a9c63b7b3fa724db;p=satune.git diff --git a/src/Test/buildconstraints.c b/src/Test/buildconstraints.c index 23d943c..e795038 100644 --- a/src/Test/buildconstraints.c +++ b/src/Test/buildconstraints.c @@ -3,29 +3,29 @@ int main(int numargs, char ** argv) { CSolver * solver=allocCSolver(); uint64_t set1[]={0, 1, 2}; + uint64_t setbigarray[]={0, 1, 2, 3, 4}; + Set * s=createSet(solver, 0, set1, 3); + Set * setbig=createSet(solver, 0, setbigarray, 5); Element * e1=getElementVar(solver, s); Element * e2=getElementVar(solver, s); Set * domain[]={s, s}; Predicate *equals=createPredicateOperator(solver, EQUALS, domain, 2); Element * inputs[]={e1, e2}; Boolean * b=applyPredicate(solver, equals, inputs, 2); - addBoolean(solver, b); - Order * o=createOrder(solver, TOTAL, s); - Boolean * oc=orderConstraint(solver, o, 1, 2); - addBoolean(solver, oc); - /* + addConstraint(solver, b); + uint64_t set2[] = {2, 3}; Set* rangef1 = createSet(solver, 1, set2, 2); - Function * f1 = createFunctionOperator(solver, ADD, domain, 2, rangef1, IGNORE); + Function * f1 = createFunctionOperator(solver, ADD, domain, 2, setbig, IGNORE); Table* table = createTable(solver, domain, 2, s); uint64_t row1[] = {0, 1}; uint64_t row2[] = {1, 1}; uint64_t row3[] = {2, 1}; - uint64_t row4[] = {1, 2}; + uint64_t row4[] = {2, 2}; addTableEntry(solver, table, row1, 2, 0); - addTableEntry(solver, table, row2, 2, 1); + addTableEntry(solver, table, row2, 2, 0); addTableEntry(solver, table, row3, 2, 2); addTableEntry(solver, table, row4, 2, 2); Function * f2 = completeTable(solver, table); //its range would be as same as s @@ -37,8 +37,11 @@ int main(int numargs, char ** argv) { Predicate* equal2 = createPredicateOperator(solver, EQUALS, domain2, 2); Element* inputs2 [] = {e4, e3}; Boolean* pred = applyPredicate(solver, equal2, inputs2, 2); - addBoolean(solver, pred); - */ - startEncoding(solver); + addConstraint(solver, pred); + + if (startEncoding(solver)==1) + printf("e1=%llu e2=%llu\n", getElementValue(solver,e1), getElementValue(solver, e2)); + else + printf("UNSAT\n"); deleteSolver(solver); }