SetIteratorOrder *orderit = orders->iterator();
while (orderit->hasNext()) {
Order *order = orderit->next();
- if (GETVARTUNABLE(solver->getTuner(), order->type, ORDERINTEGERENCODING, &offon))
+ if (order->type == SATC_PARTIAL)
+ continue;
+ if (GETVARTUNABLE(solver->getTuner(), order->set->type, ORDERINTEGERENCODING, &offon))
integerEncode(order);
}
delete orders;
void IntegerEncodingTransform::integerEncode(Order *currOrder) {
IntegerEncodingRecord *encodingRecord = new IntegerEncodingRecord(
- solver->createRangeSet(currOrder->set->getType(), 0, (uint64_t) currOrder->set->getSize() - 1));
+ solver->createRangeSet(currOrder->set->getType(), 0, (uint64_t) currOrder->getNumUsed() - 1));
currOrder->setOrderEncodingType( INTEGERENCODING );
Vector<BooleanOrder *> *constraints = currOrder->getConstraints();