Add Encoder changes
[satune.git] / src / AST / ops.h
1 #ifndef OPS_H
2 #define OPS_H
3 enum LogicOp {AND, OR, NOT, XOR, IMPLIES};
4 enum ArithOp {ADD, SUB};
5 enum CompOp {EQUALS};
6 enum OrderType {PARTIAL, TOTAL};
7
8 /**
9  *    FLAGFORCESOVERFLOW forces the operation to overflow if the boolean flag is true
10  *  OVERFLOWSETSFLAG -- sets the flag if the operation overflows
11  *  FLAGIFFOVERFLOW -- flag is set iff the operation overflows
12  *  IGNORE -- doesn't constrain output if the result cannot be represented
13  *  WRAPAROUND -- wraps around like stand integer arithmetic
14  */
15 enum OverFlowBehavior {IGNORE, WRAPAROUND, FLAGFORCESOVERFLOW, OVERFLOWSETSFLAG, FLAGIFFOVERFLOW};
16
17 #endif