From dbef51b031f8f519d79cda39c7cc18b96a7c72d2 Mon Sep 17 00:00:00 2001 From: Brian Demsky Date: Fri, 23 Jun 2017 19:52:04 -0700 Subject: [PATCH] Add Order Encoding --- src/AST/order.c | 2 ++ src/AST/order.h | 4 +++- src/Encoders/orderencoding.c | 7 ++----- src/Encoders/orderencoding.h | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/AST/order.c b/src/AST/order.c index d2dc842..1e39b38 100644 --- a/src/AST/order.c +++ b/src/AST/order.c @@ -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); } diff --git a/src/AST/order.h b/src/AST/order.h index 93b2413..0229982 100644 --- a/src/AST/order.h +++ b/src/AST/order.h @@ -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 diff --git a/src/Encoders/orderencoding.c b/src/Encoders/orderencoding.c index 3cd78e1..161704b 100644 --- a/src/Encoders/orderencoding.c +++ b/src/Encoders/orderencoding.c @@ -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); } diff --git a/src/Encoders/orderencoding.h b/src/Encoders/orderencoding.h index 89c436a..a101ea1 100644 --- a/src/Encoders/orderencoding.h +++ b/src/Encoders/orderencoding.h @@ -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 -- 2.34.1