Merge branch 'master' of ssh://demsky.eecs.uci.edu/home/git/constraint_compiler into...
authorHamed <hamed.gorjiara@gmail.com>
Wed, 20 Sep 2017 21:29:52 +0000 (14:29 -0700)
committerHamed <hamed.gorjiara@gmail.com>
Wed, 20 Sep 2017 21:29:52 +0000 (14:29 -0700)
src/csolver.cc
src/csolver.h
src/mymemory.h

index 8ea79e4..fe21110 100644 (file)
@@ -118,6 +118,10 @@ Set *CSolver::createRangeSet(VarType type, uint64_t lowrange, uint64_t highrange
        return set;
 }
 
+VarType CSolver::getSetVarType(Set *set){
+       return set->getType();
+}
+
 Element *CSolver::createRangeVar(VarType type, uint64_t lowrange, uint64_t highrange) {
        Set *s = createRangeSet(type, lowrange, highrange);
        return getElementVar(s);
@@ -149,6 +153,11 @@ Element *CSolver::getElementVar(Set *set) {
        return element;
 }
 
+Set* CSolver::getElementRange (Element* element){
+       return element->getRange();
+}
+
+
 Element *CSolver::getElementConst(VarType type, uint64_t value) {
        uint64_t array[] = {value};
        Set *set = new Set(type, array, 1);
@@ -430,8 +439,8 @@ int CSolver::solve() {
        long long startTime = getTimeNano();
        computePolarities(this);
 
-       Preprocess pp(this);
-       pp.doTransform();
+//     Preprocess pp(this);
+//     pp.doTransform();
        
        DecomposeOrderTransform dot(this);
        dot.doTransform();
@@ -439,9 +448,9 @@ int CSolver::solve() {
        IntegerEncodingTransform iet(this);
        iet.doTransform();
 
-       EncodingGraph eg(this);
-       eg.buildGraph();
-       eg.encode();
+//     EncodingGraph eg(this);
+//     eg.buildGraph();
+//     eg.encode();
        
        naiveEncodingDecision(this);
        satEncoder->encodeAllSATEncoder(this);
index e492781..15da42e 100644 (file)
@@ -18,6 +18,8 @@ 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. */
@@ -46,6 +48,8 @@ public:
 
        /** This function creates an element constrant. */
        Element *getElementConst(VarType type, uint64_t value);
+       
+       Set* getElementRange (Element* element);
 
        BooleanEdge getBooleanTrue();
 
index 7c63aa1..e0a60bd 100644 (file)
@@ -26,7 +26,7 @@
    void * ourrealloc(void *ptr, size_t size);
 */
 
-#if 0
+#if 1
 void * model_malloc(size_t size);
 void model_free(void *ptr);
 void * model_calloc(size_t count, size_t size);