#ifdef TRACE_DEBUG
model_print("Operator Function ...\n");
#endif
- FunctionOperator *function = (FunctionOperator *) func->function;
+ FunctionOperator *function = (FunctionOperator *) func->getFunction();
uint numDomains = func->inputs.getSize();
/* Call base encoders for children */
Edge carray[numDomains + 1];
uint64_t result = function->applyFunctionOperator(numDomains, vals);
- bool isInRange = ((FunctionOperator *)func->function)->isInRangeFunction(result);
+ bool isInRange = ((FunctionOperator *)func->getFunction())->isInRangeFunction(result);
bool needClause = isInRange;
if (function->overflowbehavior == SATC_OVERFLOWSETSFLAG || function->overflowbehavior == SATC_FLAGIFFOVERFLOW) {
needClause = true;
encodeElementSATEncoder(elem0);
Element *elem1 = constraint->inputs.get(1);
encodeElementSATEncoder(elem1);
- ElementEncoding *ee0 = getElementEncoding(elem0);
- ElementEncoding *ee1 = getElementEncoding(elem1);
+ ElementEncoding *ee0 = elem0->getElementEncoding();
+ ElementEncoding *ee1 = elem1->getElementEncoding();
ASSERT(ee0->numVars == ee1->numVars);
uint numVars = ee0->numVars;
- switch (predicate->op) {
+ switch (predicate->getOp()) {
case SATC_EQUALS:
return generateEquivNVConstraint(cnf, numVars, ee0->variables, ee1->variables);
case SATC_LT: