Remove COMPARE from backend in anticipation of AST changes
[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     order->constraints = allocDefVectorBoolean();
11     order->type=type;
12     return order;
13 }
14
15 Boolean* getOrderConstraint(Order* order, uint64_t first, uint64_t second){
16         //Probably a bad idea to do a O(n) search through the order...
17         //We have a hashset data structure, why not use it for O(1) search
18
19
20         //We don't like warnings
21         return NULL;
22
23         /*
24         uint size = getSizeVectorInt(order->set->members);
25     //First we need to make sure that first and second are part of the list!
26     bool exist1=false, exist2=false;
27     for(int i=0; i<size; i++){
28         if(getVectorInt(order->set->members, i)==first){
29             exist1=true;
30         }else if(getVectorInt(order->set->members, i) == second){
31             exist2=true;
32         }else if(exist1 && exist2){
33             break;
34         }
35     }
36     ASSERT(exist1 && exist2);
37         */
38 }
39
40 void deleteOrder(Order* order){
41     uint size = getSizeVectorBoolean( order->constraints );
42     for(uint i=0; i<size; i++){
43         deleteBoolean( getVectorBoolean(order->constraints, i) );
44     }
45     deleteSet( order->set);
46     ourfree(order);
47 }