1 #ifndef FUNCTIONENCODER_H
2 #define FUNCTIONENCODER_H
5 enum FunctionEncoderType {
6 ENUMERATEIMPLICATIONS, CIRCUIT
9 typedef enum FunctionEncoderType FunctionEncoderType;
11 union ElementPredicate {
16 typedef union ElementPredicate ElementPredicate;
18 struct FunctionEncoder {
19 FunctionEncoderType type;
20 bool isFunction; //true for function, false for predicate
24 FunctionEncoder * allocFunctionEncoder(FunctionEncoderType type, Element *function);
25 FunctionEncoder * allocPredicateEncoder(FunctionEncoderType type, Boolean *predicate);
26 void deleteFunctionEncoder(FunctionEncoder *this);