commit after merge
[satune.git] / src / csolver.h
index 71ee87487471fa99f9ee1091ff56ff0de00e00bd..523ac307194534f1c7e35a302247cef2cc8032a7 100644 (file)
@@ -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<Order *> *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; }