7 * Result: O(5,1)=0 O(1,4)=0 O(5,4)=0 O(1,5)=1 O(1111,5)=2
9 int main(int numargs, char **argv) {
11 printf("Requires the following arguments: numpoints numclauses maxclausesize randomseed\n");
14 int numpoints = atoi(argv[1]);
15 int numclauses = atoi(argv[2]);
16 int maxclause = atoi(argv[3]);
17 srandom(atoi(argv[4]));
19 CSolver *solver = new CSolver();
20 Set *s = solver->createRangeSet(0, 0, numpoints);
21 Order *order = solver->createOrder(SATC_TOTAL, s);
22 BooleanEdge be[maxclause];
23 for (int i = 0; i < numclauses; i++) {
24 int numterms = (random() % (maxclause - 1)) + 1;
26 for (int j = 0; j < numterms; j++) {
27 uint src = random() % (numpoints - 1);
30 dst = random() % numpoints;
31 } while (src == dst || ((false) && (src > dst)));
33 be[j] = solver->orderConstraint(order, src, dst);
35 solver->addConstraint(solver->applyLogicalOperation(SATC_OR, be, numterms));
38 if (solver->solve() == 1) {