1 #ifndef ELEMENTENCODING_H
2 #define ELEMENTENCODING_H
5 enum ElementEncodingType {
6 ONEHOT, UNARY, BINARYINDEX, ONEHOTBINARY, BINARYVAL
9 typedef enum ElementEncodingType ElementEncodingType;
11 struct ElementEncoding {
12 ElementEncodingType type;
14 Boolean ** variables; /* List Variables Use To Encode Element */
15 uint64_t * encodingArray; /* List the Variables in the appropriate order */
16 uint numVars; /* Number of variables */
19 ElementEncoding * allocElementEncoding(ElementEncodingType type, Element *element);
20 void deleteElementEncoding(ElementEncoding *this);