commit after merge
[satune.git] / src / csolver.h
index 15d5b453c8b697505ac40e22b4efe7b65cd03996..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);
 
@@ -134,6 +134,7 @@ public:
        void setUnSAT() { model_print("Setting UNSAT %%%%%%\n"); unsat = true; }
        bool isUnSAT() { return unsat; }
 
+       void printConstraint(BooleanEdge boolean);
        void printConstraints();
 
        Vector<Order *> *getOrders() { return &allOrders;}
@@ -147,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; }