Modify API to work for partial order as well + adding order test case
[satune.git] / src / Test / testorder.c
1
2 #include "csolver.h"
3
4 int main(int numargs, char ** argv) {
5         CSolver * solver=allocCSolver();
6         uint64_t set1[]={5, 1, 4};
7         Set * s=createSet(solver, 0, set1, 3);
8         Order* order = createOrder(solver, TOTAL, s);
9         Boolean* b1=  orderConstraint(solver, order, 1, 4);
10         Boolean* b2=  orderConstraint(solver, order, 5, 4);
11         addConstraint(solver, b1);
12         addConstraint(solver, b2);
13         if (startEncoding(solver)==1)
14                 printf("O(1,4)=%d O(5,4)=%d O(4,5)=%d O(1,5)=%d\n", 
15                         getOrderConstraintValue(solver, order, 1, 4), 
16                         getOrderConstraintValue(solver, order, 5, 4),
17                         getOrderConstraintValue(solver, order, 4, 5),
18                         getOrderConstraintValue(solver, order, 1, 5));
19         else
20                 printf("UNSAT\n");
21         deleteSolver(solver);
22 }