21fa9034fb8d061e5f6f3bf8fd77dabe6c2b91ec
[satune.git] / src / ASTAnalyses / orderedge.h
1 /*
2  * File:   orderedge.h
3  * Author: hamed
4  *
5  * Created on August 7, 2017, 3:44 PM
6  */
7
8 #ifndef ORDEREDGE_H
9 #define ORDEREDGE_H
10 #include "classlist.h"
11 #include "mymemory.h"
12
13 struct OrderEdge {
14         OrderNode *source;
15         OrderNode *sink;
16         unsigned int polPos : 1;
17         unsigned int polNeg : 1;
18         unsigned int mustPos : 1;
19         unsigned int mustNeg : 1;
20         unsigned int pseudoPos : 1;
21 };
22
23 OrderEdge *allocOrderEdge(OrderNode *begin, OrderNode *end);
24 void deleteOrderEdge(OrderEdge *This);
25 void setPseudoPos(OrderGraph *graph, OrderEdge *edge);
26 void setMustPos(OrderGraph *graph, OrderEdge *edge);
27 void setMustNeg(OrderGraph *graph, OrderEdge *edge);
28 void setPolPos(OrderGraph *graph, OrderEdge *edge);
29 void setPolNeg(OrderGraph *graph, OrderEdge *edge);
30
31 #endif/* ORDEREDGE_H */
32