Generating constraints for BooleanOrder
[satune.git] / src / AST / order.c
1 #include "order.h"
2 #include "structs.h"
3 #include "set.h"
4 #include "boolean.h"
5
6
7 Order* allocOrder(OrderType type, Set * set){
8         Order* order = (Order*)ourmalloc(sizeof(Order));
9         order->set=set;
10         allocInlineDefVectorBoolean(& order->constraints);
11         order->type=type;
12         allocOrderEncoding(& order->order, order);
13         return order;
14 }
15
16 void addOrderConstraint(Order* order, BooleanOrder* constraint){
17         pushVectorBoolean( &order->constraints, (Boolean) constraint);
18 }
19
20 void setOrderEncodingType(Order* order, OrderEncodingType type){
21         order->order.type = type;
22 }
23
24 void deleteOrder(Order* order){
25         deleteVectorArrayBoolean(& order->constraints);
26         deleteOrderEncoding(& order->order);
27         ourfree(order);
28 }