#include <strings.h>
void naiveEncodingDecision(CSolver *This) {
- SetIteratorBoolean *iterator = This->getConstraints();
+ SetIteratorBooleanEdge *iterator = This->getConstraints();
while (iterator->hasNext()) {
- Boolean *boolean = iterator->next();
- naiveEncodingConstraint(boolean);
+ BooleanEdge b = iterator->next();
+ naiveEncodingConstraint(b.getBoolean());
}
delete iterator;
}
return;
}
case ORDERCONST: {
- ((BooleanOrder *) This)->order->setOrderEncodingType(PAIRWISE);
+ if(((BooleanOrder *) This)->order->encoding.type == ORDER_UNASSIGNED)
+ ((BooleanOrder *) This)->order->setOrderEncodingType(PAIRWISE);
return;
}
case LOGICOP: {
void naiveEncodingLogicOp(BooleanLogic *This) {
for (uint i = 0; i < This->inputs.getSize(); i++) {
- naiveEncodingConstraint(This->inputs.get(i));
+ naiveEncodingConstraint(This->inputs.get(i).getBoolean());
}
}