Add Order Encoding
authorBrian Demsky <bdemsky@uci.edu>
Sat, 24 Jun 2017 02:52:04 +0000 (19:52 -0700)
committerbdemsky <bdemsky@uci.edu>
Sat, 24 Jun 2017 02:52:35 +0000 (19:52 -0700)
src/AST/order.c
src/AST/order.h
src/Encoders/orderencoding.c
src/Encoders/orderencoding.h

index d2dc8421b08af3ca62f0111d36e8c69bfbeb8462..1e39b38606e7e824edc9dbdcee65164098e620af 100644 (file)
@@ -9,10 +9,12 @@ Order* allocOrder(OrderType type, Set * set){
        order->set=set;
        allocInlineDefVectorBoolean(& order->constraints);
        order->type=type;
+       allocOrderEncoding(& order->order, order);
        return order;
 }
 
 void deleteOrder(Order* order){
        deleteVectorArrayBoolean(& order->constraints);
+       deleteOrderEncoding(& order->order);
        ourfree(order);
 }
index 93b2413a6f6e8c481ccfa60b0d320f725633a415..0229982ff5b362e4effd3021ac955478aebc8d19 100644 (file)
@@ -4,13 +4,15 @@
 #include "mymemory.h"
 #include "structs.h"
 #include "ops.h"
+#include "orderencoding.h"
+
 struct Order {
        OrderType type;
        Set * set;
        VectorBoolean constraints;
+       OrderEncoding order;
 };
 
 Order* allocOrder(OrderType type, Set * set);
 void deleteOrder(Order* order);
-
 #endif
index 3cd78e15df06eab51a25a752d40bfeb17c8f922a..161704b5228978808eface4698b65af763afa742 100644 (file)
@@ -1,12 +1,9 @@
 #include "orderencoding.h"
 
-OrderEncoding * allocOrderEncoding(OrderEncodingType type, Order *order) {
-       OrderEncoding *This=ourmalloc(sizeof(OrderEncoding));
-       This->type=type;
+void allocOrderEncoding(OrderEncoding * This, Order *order) {
+       This->type=ORDER_UNASSIGNED;
        This->order=order;
-       return This;
 }
 
 void deleteOrderEncoding(OrderEncoding *This) {
-       ourfree(This);
 }
index 89c436a38237535935a037a235e0f2156695b8f4..a101ea105699fa2571fe7e0cdb53d41b18b1ee7f 100644 (file)
@@ -3,7 +3,7 @@
 #include "classlist.h"
 
 enum OrderEncodingType {
-       PAIRWISE
+       ORDER_UNASSIGNED, PAIRWISE
 };
 
 typedef enum OrderEncodingType OrderEncodingType;
@@ -13,7 +13,7 @@ struct OrderEncoding {
        Order *order;
 };
 
-OrderEncoding * allocOrderEncoding(OrderEncodingType type, Order *order);
+void allocOrderEncoding(OrderEncoding * This, Order *order);
 void deleteOrderEncoding(OrderEncoding *This);
 
 #endif