commit after resolving conflict
[satune.git] / src / AST / function.h
1 #ifndef FUNCTION_H
2 #define FUNCTION_H
3 #include "classlist.h"
4 #include "mymemory.h"
5 #include "ops.h"
6 #include "structs.h"
7
8
9 #define GETFUNCTIONTYPE(o) (((Function*)o)->type)
10
11 struct Function{
12     FunctionType type;
13 };
14
15 struct FunctionOperator {
16     Function base;
17     ArithOp op;
18     VectorSet* domains;
19     Set * range;
20     OverFlowBehavior overflowbehavior;
21 };
22
23 struct FunctionTable{
24     Function base;
25     Table* table;
26 };
27
28 Function* allocFunctionOperator( ArithOp op, Set ** domain, uint numDomain, Set * range,OverFlowBehavior overflowbehavior);
29 Function* allocFunctionTable (Table* table);
30 void deleteFunction(Function* This);
31
32 #endif