6434a95d903218b64a0d1092041395dd499fdcaf
[satune.git] / src / ASTTransform / integerencoding.h
1 /* 
2  * File:   integerencoding.h
3  * Author: hamed
4  *
5  * Created on August 27, 2017, 4:36 PM
6  */
7
8 #ifndef INTEGERENCODING_H
9 #define INTEGERENCODING_H
10 #include "classlist.h"
11 #include "transform.h"
12 #include "order.h"
13
14 class IntegerEncodingTransform : public Transform{
15 public:
16         IntegerEncodingTransform(CSolver* solver, Order* order);
17         void orderIntegerEncodingSATEncoder(BooleanOrder *boolOrder);
18         void doTransform();
19         bool canExecuteTransform();
20         virtual ~IntegerEncodingTransform();
21 private:
22         Order* order;
23         // In future we can use a singleton class instead of static variable for keeping data that needed
24         // for translating back result
25         static HashTableOrderIntegerEncoding* orderIntegerEncoding;
26 };
27
28
29 #endif /* INTEGERENCODING_H */
30