X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2FAST%2Fops.h;h=8b082025348ffaeab34916512eb55368068473d9;hb=298685f6683d3a323968cb22810b134472dacdfa;hp=40febd4d06ccb042be3e68bf02edd687b0e832b8;hpb=35ae27b48376374ffc686be246d56ac7665b3a81;p=satune.git diff --git a/src/AST/ops.h b/src/AST/ops.h index 40febd4..8b08202 100644 --- a/src/AST/ops.h +++ b/src/AST/ops.h @@ -1,20 +1,29 @@ #ifndef OPS_H #define OPS_H -enum LogicOp {AND, OR, NOT, XOR, IMPLIES}; -enum ArithOp {ADD, SUB}; -enum CompOp {EQUALS}; -enum OrderType {PARTIAL, TOTAL}; +enum LogicOp {SATC_AND, SATC_OR, SATC_NOT, SATC_XOR, SATC_IFF, SATC_IMPLIES}; +typedef enum LogicOp LogicOp; + +enum ArithOp {SATC_ADD, SATC_SUB}; +typedef enum ArithOp ArithOp; + +enum CompOp {SATC_EQUALS, SATC_LT, SATC_GT, SATC_LTE, SATC_GTE}; +typedef enum CompOp CompOp; + +enum OrderType {SATC_PARTIAL, SATC_TOTAL}; +typedef enum OrderType OrderType; /** - * FLAGFORCESOVERFLOW forces the operation to overflow if the boolean flag is true - * OVERFLOWSETSFLAG -- sets the flag if the operation overflows - * FLAGIFFOVERFLOW -- flag is set iff the operation overflows - * IGNORE -- doesn't constrain output if the result cannot be represented - * WRAPAROUND -- wraps around like stand integer arithmetic - * NOOVERFLOW -- client has ensured that overflow is impossible + * SATC_FLAGFORCESOVERFLOW forces the operation to overflow if the boolean flag is true + * SATC_OVERFLOWSETSFLAG -- sets the flag if the operation overflows + * SATC_FLAGIFFOVERFLOW -- flag is set iff the operation overflows + * SATC_IGNORE -- doesn't constrain output if the result cannot be represented + * SATC_WRAPAROUND -- wraps around like stand integer arithmetic + * SATC_NOOVERFLOW -- client has ensured that overflow is impossible */ -enum OverFlowBehavior {IGNORE, WRAPAROUND, FLAGFORCESOVERFLOW, OVERFLOWSETSFLAG, FLAGIFFOVERFLOW, NOOVERFLOW}; +enum OverFlowBehavior {SATC_IGNORE, SATC_WRAPAROUND, SATC_FLAGFORCESOVERFLOW, SATC_OVERFLOWSETSFLAG, SATC_FLAGIFFOVERFLOW, SATC_NOOVERFLOW}; +typedef enum OverFlowBehavior OverFlowBehavior; -enum BooleanType {_ORDER, _BOOLEAN}; +enum UndefinedBehavior {SATC_IGNOREBEHAVIOR, SATC_FLAGFORCEUNDEFINED, SATC_UNDEFINEDSETSFLAG, SATC_FLAGIFFUNDEFINED}; +typedef enum UndefinedBehavior UndefinedBehavior; #endif