10 Function(FunctionType _type) : type(_type) {}
12 virtual ~Function() {}
13 virtual Function *clone(CSolver *solver, CloneMap *map) {ASSERT(0); return NULL;}
17 class FunctionOperator : public Function {
22 OverFlowBehavior overflowbehavior;
23 FunctionOperator(ArithOp op, Set **domain, uint numDomain, Set *range, OverFlowBehavior overflowbehavior);
24 uint64_t applyFunctionOperator(uint numVals, uint64_t *values);
25 bool isInRangeFunction(uint64_t val);
26 Function *clone(CSolver *solver, CloneMap *map);
30 class FunctionTable : public Function {
33 UndefinedBehavior undefBehavior;
34 FunctionTable (Table *table, UndefinedBehavior behavior);
35 Function *clone(CSolver *solver, CloneMap *map);