Edits
[satune.git] / src / csolver.h
index 15da42e58946c1ec8703c6b08300801863144a27..2730a934164a7d267bdf26d47f78576671c8c52a 100644 (file)
@@ -5,6 +5,7 @@
 #include "corestructs.h"
 #include "asthash.h"
 #include "solver_interface.h"
+#include "common.h"
 
 class CSolver {
 public:
@@ -19,7 +20,7 @@ public:
        Set *createRangeSet(VarType type, uint64_t lowrange, uint64_t highrange);
 
        VarType getSetVarType(Set *set);
-       
+
        Element *createRangeVar(VarType type, uint64_t lowrange, uint64_t highrange);
 
        /** This function creates a mutable set. */
@@ -36,11 +37,11 @@ public:
            items to the set. */
 
        uint64_t createUniqueItem(MutableSet *set);
-       
+
        /**
         * Freeze and finalize the mutableSet ...
         */
-       void finalizeMutableSet(MutableSetset);
+       void finalizeMutableSet(MutableSet *set);
 
        /** This function creates an element variable over a set. */
 
@@ -48,8 +49,8 @@ public:
 
        /** This function creates an element constrant. */
        Element *getElementConst(VarType type, uint64_t value);
-       
-       Set* getElementRange (Element* element);
+
+       Set *getElementRange (Element *element);
 
        BooleanEdge getBooleanTrue();
 
@@ -130,16 +131,18 @@ public:
        bool isTrue(BooleanEdge b);
        bool isFalse(BooleanEdge b);
 
-       void setUnSAT() { unsat = true; }
-
+       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;}
+       HashsetOrder *getActiveOrders() { return &activeOrders;}
 
        Tuner *getTuner() { return tuner; }
 
-       SetIteratorBooleanEdge * getConstraints() { return constraints.iterator(); }
+       SetIteratorBooleanEdge *getConstraints() { return constraints.iterator(); }
 
        SATEncoder *getSATEncoder() {return satEncoder;}
 
@@ -188,7 +191,7 @@ private:
        Vector<Order *> allOrders;
 
        HashsetOrder activeOrders;
-       
+
        /** This is a vector of all function structs that we have allocated. */
        Vector<Function *> allFunctions;