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