Merge branch 'hamed' of ssh://demsky.eecs.uci.edu/home/git/constraint_compiler into...
[satune.git] / src / AST / mutableset.cc
index 6b3f9537786ca4b52d6f590b0f9faeb17ed7ace2..31ce431cffb0af3eb207957564a2cf5e3b0f5026 100644 (file)
@@ -1,5 +1,6 @@
 #include "mutableset.h"
 #include "csolver.h"
+#include "qsort.h"
 
 MutableSet::MutableSet(VarType t) : Set(t) {
 }
@@ -14,8 +15,14 @@ Set *MutableSet::clone(CSolver *solver, CloneMap *map) {
                return s;
        s = solver->createMutableSet(type);
        for (uint i = 0; i < members->getSize(); i++) {
+               ((MutableSet *)s)->addElementMSet(members->get(i));
                solver->addItem((MutableSet *) s, members->get(i));
        }
+       ((MutableSet *)s)->finalize();
        map->put(this, s);
        return s;
 }
+
+void MutableSet::finalize() {
+       bsdqsort(members->expose(), members->getSize(), sizeof(uint64_t), intcompare);
+}
\ No newline at end of file