6 FunctionOperator::FunctionOperator(ArithOp _op, Set **domain, uint numDomain, Set *_range, OverFlowBehavior _overflowbehavior) : Function(OPERATORFUNC), op(_op), range(_range), overflowbehavior(_overflowbehavior) {
7 initArrayInitSet(&domains, domain, numDomain);
10 FunctionTable::FunctionTable (Table *_table, UndefinedBehavior _undefBehavior) : Function(TABLEFUNC), table(_table), undefBehavior(_undefBehavior) {
13 uint64_t FunctionOperator::applyFunctionOperator(uint numVals, uint64_t *values) {
17 return values[0] + values[1];
20 return values[0] - values[1];
27 bool FunctionOperator::isInRangeFunction(uint64_t val) {
28 return range->exists(val);
31 FunctionOperator::~FunctionOperator() {
32 deleteInlineArraySet(&domains);