Bug was introduced in proxy variable changes
[satune.git] / src / ccsolver.h
1 #ifndef __CCSOLVER_H
2 #define __CCSOLVER_H
3
4
5 typedef void* CCSolver;
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 void* createCCSolver();
10 void deleteCCSolver(void* solver);
11 void *createSet(void* solver,unsigned int type, long *elements, unsigned int num);
12 void *createRangeSet(void* solver,unsigned int type, long lowrange, long highrange);
13 void *createRangeVar(void* solver,unsigned int type, long lowrange, long highrange);
14 void *createMutableSet(void* solver,unsigned int type);
15 void addItem(void* solver,void *set, long element);
16 void finalizeMutableSet(void* solver,void *set);
17 void *getElementVar(void* solver,void *set);
18 void *getElementConst(void* solver,unsigned int type, long value);
19 void *getElementRange (void* solver,void *element);
20 void* getBooleanVar(void* solver,unsigned int type);
21 void *createFunctionOperator(void* solver,unsigned int op, void *range,unsigned int overflowbehavior);
22 void *createPredicateOperator(void* solver,unsigned int op);
23 void *createPredicateTable(void* solver,void *table, unsigned int behavior);
24 void *createTable(void* solver, void *range);
25 void *createTableForPredicate(void* solver);
26 void addTableEntry(void* solver,void *table, void *inputs, unsigned int inputSize, long result);
27 void *completeTable(void* solver,void *table, unsigned int behavior);
28 void *applyFunction(void* solver,void *function, void**array, unsigned int numArrays, void* overflowstatus);
29 void* applyPredicateTable(void* solver,void *predicate, void **inputs, unsigned int numInputs, void* undefinedStatus);
30 void* applyPredicate(void* solver,void *predicate, void **inputs, unsigned int numInputs);
31 void* applyLogicalOperation(void* solver,unsigned int op, void *array, unsigned int asize);
32 void* applyLogicalOperationTwo(void* solver,unsigned int op, void* arg1, void* arg2);
33 void* applyLogicalOperationOne(void* solver,unsigned int op, void* arg);
34 void addConstraint(void* solver,void* constraint);
35 void *createOrder(void* solver,unsigned int type, void *set);
36 void* orderConstraint(void* solver,void *order, long first, long second);
37 int solve(void* solver);
38 long getElementValue(void* solver,void *element);
39 int getBooleanValue(void* solver,void* boolean);
40 int getOrderConstraintValue(void* solver,void *order, long first, long second);
41 void printConstraints(void* solver);
42 void serialize(void* solver);
43 void mustHaveValue(void *solver, void *element);
44 #ifdef __cplusplus
45 }
46 #endif
47
48 #endif