- //getting two elements and using LT predicate ...
- ElementSet* elem1 = (ElementSet*)getOrderIntegerElement(This, order, boolOrder->first);
- ElementSet* elem2 = (ElementSet*)getOrderIntegerElement(This, order, boolOrder->second);
- Set * sarray[]={elem1->set, elem2->set};
- Predicate *predicate =new PredicateOperator(LT, sarray, 2);
- Element * parray[]={elem1, elem2};
- BooleanPredicate * boolean=new BooleanPredicate(predicate, parray, 2, NULL);
- {//Adding new elements and boolean/predicate to solver regarding memory management
- This->solver->allBooleans.push(boolean);
- This->solver->allPredicates.push(predicate);
- This->solver->constraints.add(boolean);
+ HashsetOrder *orders = solver->getActiveOrders()->copy();
+ SetIteratorOrder *orderit = orders->iterator();
+ while (orderit->hasNext()) {
+ Order *order = orderit->next();
+ if (GETVARTUNABLE(solver->getTuner(), order->type, ORDERINTEGERENCODING, &offon))
+ integerEncode(order);