X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2Fcsolver.h;h=3972f6c7c0f08ffa7cc85b8c157ea7b5fe9c90f9;hb=b357df193c24d17d666c8303bd3fd78352c9212a;hp=63ba766206e5d125fbc074babcf84eb22271e866;hpb=84245f9abf88882d83e3b9ddfed43ab3abf8638f;p=satune.git diff --git a/src/csolver.h b/src/csolver.h index 63ba766..3972f6c 100644 --- a/src/csolver.h +++ b/src/csolver.h @@ -21,14 +21,15 @@ uint64_t createUniqueItem(CSolver *, MutableSet * set); Element * getElementVar(CSolver *, Set * set); Boolean * getBooleanVar(CSolver *, VarType type); -Function * createFunctionOperator(CSolver *, enum ArithOp op, Set ** domain, Set * range, enum OverFlowBehavior overflowbehavior, Boolean * overflowstatus); +Function * createFunctionOperator(CSolver *solver, enum ArithOp op, Set ** domain, uint numDomain, Set * range, + enum OverFlowBehavior overflowbehavior, Boolean * overflowstatus); //Does Not Overflow -Function * createFunctionOperatorPure(CSolver *, enum ArithOp op); -Predicate * createPredicateOperator(CSolver *, enum CompOp op, Set ** domain); +//Function * createFunctionOperatorPure(CSolver *, enum ArithOp op); +Predicate * createPredicateOperator(CSolver *solver, enum CompOp op, Set ** domain, uint numDomain); -Table * createTable(CSolver *, Set **domains, Set * range); -void addTableEntry(CSolver *, Element ** inputs, Element *result); -Function * completeTable(CSolver *, struct Table *); +Table * createTable(CSolver *solver, Set **domains, uint numDomain, Set * range); +void addTableEntry(CSolver *solver, uint64_t* inputs, uint inputSize, uint64_t result); +Function * completeTable(CSolver *, Table *); Element * applyFunction(CSolver *, Function * function, Element ** array); Boolean * applyPredicate(CSolver *, Predicate * predicate, Element ** inputs);