-/*
- * 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);
+
+ virtual ~IntegerEncodingTransform();
+private:
+};
-Element *getOrderIntegerElement(CSolver *solver, Order *order, uint64_t item);
-void orderIntegerEncodingSATEncoder(CSolver *solver, BooleanOrder *boolOrder);
#endif/* INTEGERENCODING_H */