Switch array struct to class
[satune.git] / src / Backend / satelemencoder.h
1 #ifndef SATELEMENTENCODER_H
2 #define SATELEMENTENCODER_H
3
4 Edge getElementValueOneHotConstraint(SATEncoder *This, Element *elem, uint64_t value);
5 Edge getElementValueUnaryConstraint(SATEncoder *This, Element *elem, uint64_t value);
6 Edge getElementValueBinaryIndexConstraint(SATEncoder *This, Element *element, uint64_t value);
7 Edge getElementValueBinaryValueConstraint(SATEncoder *This, Element *element, uint64_t value);
8 Edge getElementValueConstraint(SATEncoder *encoder, Element *This, uint64_t value);
9 void allocElementConstraintVariables(ElementEncoding *This, uint numVars);
10 void generateOneHotEncodingVars(SATEncoder *This, ElementEncoding *encoding);
11 void generateUnaryEncodingVars(SATEncoder *This, ElementEncoding *encoding);
12 void generateBinaryIndexEncodingVars(SATEncoder *This, ElementEncoding *encoding);
13 void generateBinaryValueEncodingVars(SATEncoder *This, ElementEncoding *encoding);
14 void generateElementEncoding(SATEncoder *This, Element *element);
15 #endif