/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-/*
* File: integerencoding.h
* Author: hamed
*
- * Created on August 24, 2017, 5:31 PM
+ * Created on August 27, 2017, 4:36 PM
*/
#ifndef INTEGERENCODING_H
#define INTEGERENCODING_H
#include "classlist.h"
-#include "structs.h"
+#include "transform.h"
+#include "order.h"
+
+class IntegerEncodingTransform : public Transform {
+public:
+ IntegerEncodingTransform(CSolver *solver);
+ void orderIntegerEncodingSATEncoder(BooleanOrder *boolOrder, IntegerEncodingRecord *ierec);
+ void doTransform();
+ void integerEncode(Order *currOrder);
-Element* getOrderIntegerElement(SATEncoder* This,Order *order, uint64_t item);
-void orderIntegerEncodingSATEncoder(SATEncoder *This, BooleanOrder *boolOrder);
+ virtual ~IntegerEncodingTransform();
+private:
+};
-#endif /* INTEGERENCODING_H */
+#endif/* INTEGERENCODING_H */