X-Git-Url: http://plrg.eecs.uci.edu/git/?p=satune.git;a=blobdiff_plain;f=src%2Fcsolver.h;h=523ac307194534f1c7e35a302247cef2cc8032a7;hp=71ee87487471fa99f9ee1091ff56ff0de00e00bd;hb=cd362e8c49a8ac25e3f0324e89d139285cb71c3d;hpb=d8a822b4166c0e1da167d756bc10cffbaded8972 diff --git a/src/csolver.h b/src/csolver.h index 71ee874..523ac30 100644 --- a/src/csolver.h +++ b/src/csolver.h @@ -11,7 +11,7 @@ class CSolver { public: CSolver(); ~CSolver(); - + void resetSolver(); /** This function creates a set containing the elements passed in the array. */ Set *createSet(VarType type, uint64_t *elements, uint num); @@ -132,9 +132,11 @@ public: bool isFalse(BooleanEdge b); void setUnSAT() { model_print("Setting UNSAT %%%%%%\n"); unsat = true; } - bool isUnSAT() { return unsat; } + void printConstraint(BooleanEdge boolean); + void printConstraints(); + Vector *getOrders() { return &allOrders;} HashsetOrder *getActiveOrders() { return &activeOrders;} @@ -146,11 +148,16 @@ public: void replaceBooleanWithTrue(BooleanEdge bexpr); void replaceBooleanWithTrueNoRemove(BooleanEdge bexpr); + void replaceBooleanWithFalseNoRemove(BooleanEdge bexpr); void replaceBooleanWithFalse(BooleanEdge bexpr); void replaceBooleanWithBoolean(BooleanEdge oldb, BooleanEdge newb); CSolver *clone(); void serialize(); + static CSolver *deserialize(const char *file); void autoTune(uint budget); + void inferFixedOrders(); + void inferFixedOrder(Order *order); + void setTuner(Tuner *_tuner) { tuner = _tuner; } long long getElapsedTime() { return elapsedTime; }