MKDIR_P = mkdir -p
OBJ_DIR = bin
-CPP_SOURCES := constraint.cc inc_solver.cc set.cc mutableset.cc element.cc function.cc order.cc table.cc predicate.cc
+CPP_SOURCES := constraint.cc inc_solver.cc set.cc mutableset.cc element.cc function.cc order.cc table.cc predicate.cc boolean.cc
OBJECTS := $(CPP_SOURCES:%.cc=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o)
class CSolver {
public:
CSolver();
-
Set * createSet(Type type, uint64_t ** elements);
Set * createSet(Type type, uint64_t lowrange, uint64_t highrange);
MutableSet * createMutableSet(Type type);
Constraint * getBooleanVar();
Function * createFunctionOperator(enum ArithOp op, Set ** domain, Set * range, enum OverFlowBehavior overflowbehavior, Constraint * overflowstatus);
- Function * createFunctionOperator(enum ArithOp op); //Does Not Overflow
+ //Does Not Overflow
+ Function * createFunctionOperator(enum ArithOp op);
Predicate * createPredicateOperator(enum CompOp op, Set ** domain);
Table * createTable(Set **domains, Set * range);
Order * createOrder(enum OrderType type, Set * set);
Constraint * orderedConstraint(Order * order, uint64_t first, uint64_t second);
private:
-
+ ModelVector<Constraint *> constraints;
};
#endif
void operator delete[](void *p, size_t size) { \
model_free(p); \
} \
- void * operator new(size_t size, void *p) { \
-return p; \
+ void * operator new(size_t size, void *p) { \
+ return p; \
}
void *model_malloc(size_t size);