89665a1fed0353bc4c01cfa8a77f287aa9978faf
[satune.git] / src / ASTAnalyses / Order / orderanalysis.h
1 #ifndef ORDERANALYSIS_H
2 #define ORDERANALYSIS_H
3 #include "classlist.h"
4 #include "structs.h"
5 #include "mymemory.h"
6
7 void computeStronglyConnectedComponentGraph(OrderGraph *graph);
8 void initializeNodeInfoSCC(OrderGraph *graph);
9 void DFSNodeVisit(OrderNode *node, Vector<OrderNode *> *finishNodes, bool isReverse, bool mustvisit, uint sccNum);
10 void DFS(OrderGraph *graph, Vector<OrderNode *> *finishNodes);
11 void DFSReverse(OrderGraph *graph, Vector<OrderNode *> *finishNodes);
12 void completePartialOrderGraph(OrderGraph *graph);
13 void resetNodeInfoStatusSCC(OrderGraph *graph);
14 void DFSMust(OrderGraph *graph, Vector<OrderNode *> *finishNodes);
15 void DFSClearContradictions(CSolver *solver, OrderGraph *graph, Vector<OrderNode *> *finishNodes, bool computeTransitiveClosure);
16 void reachMustAnalysis(CSolver *solver, OrderGraph *graph, bool computeTransitiveClosure);
17 void localMustAnalysisTotal(CSolver *solver, OrderGraph *graph);
18 void localMustAnalysisPartial(CSolver *solver, OrderGraph *graph);
19
20 #endif
21