Edit
authorHamed <hamed.gorjiara@gmail.com>
Mon, 4 Sep 2017 23:04:55 +0000 (16:04 -0700)
committerHamed <hamed.gorjiara@gmail.com>
Mon, 4 Sep 2017 23:04:55 +0000 (16:04 -0700)
src/AST/order.h
src/ASTTransform/integerencoding.cc

index cc8b45e4adc7774e6b3510ef66fa80309a82ebbd..d922235adf09f3e12f373127489e512a6335e5b0 100644 (file)
@@ -19,7 +19,7 @@ public:
        Order *clone(CSolver *solver, CloneMap *map);
        Vector<BooleanOrder *> constraints;
        OrderEncoding encoding;
-       void setOrderResolver(OrderResolver *_resolver) { ASSERT(encoding.resolver == NULL); encoding.resolver = _resolver;};
+       void setOrderResolver(OrderResolver *_resolver) { encoding.resolver = _resolver;};
        void initializeOrderHashtable();
        void initializeOrderElementsHashtable();
        void addOrderConstraint(BooleanOrder *constraint);
index b52ccf84921cb5cafe16d314cea7c7deed4bb002..50cb29b27ec0adc86f7d7e54c8ccbae348914f6d 100644 (file)
@@ -20,7 +20,8 @@ void IntegerEncodingTransform::doTransform() {
        SetIteratorOrder * orderit=orders->iterator();
        while(orderit->hasNext()) {
                Order *order = orderit->next();
-               if (GETVARTUNABLE(solver->getTuner(), order->type, ORDERINTEGERENCODING, &onoff))
+               if (GETVARTUNABLE(solver->getTuner(), order->type, ORDERINTEGERENCODING, &onoff) &&
+                       order->encoding.resolver == NULL)
                        integerEncode(order);
        }
        delete orders;