Get rid of OrderEncoder Structure
authorbdemsky <bdemsky@uci.edu>
Tue, 15 Aug 2017 00:18:08 +0000 (17:18 -0700)
committerbdemsky <bdemsky@uci.edu>
Tue, 15 Aug 2017 00:18:08 +0000 (17:18 -0700)
src/Encoders/orderencoder.c
src/Encoders/orderencoder.h

index 1fc80d192e8fe53a9f9bcf7ab86a8f492eef6588..c53d2057bcfd5e9434a8bc25d53b1edbbe8efea8 100644 (file)
@@ -18,31 +18,6 @@ void deleteNodeInfo(NodeInfo* info){
        ourfree(info);
 }
 
-OrderEncoder* allocOrderEncoder(){
-       OrderEncoder* This = (OrderEncoder*) ourmalloc(sizeof(OrderEncoder));
-       initDefVectorOrderGraph( &This->graphs );
-       return This;
-}
-
-void deleteOrderEncoder(OrderEncoder* This){
-       uint size = getSizeVectorOrderGraph(&This->graphs);
-       for(uint i=0; i<size; i++){
-               deleteOrderGraph(getVectorOrderGraph(&This->graphs, i));
-       }
-       ourfree(This);
-}
-
-OrderEncoder* buildOrderGraphs(CSolver* This) {
-       uint size = getSizeVectorOrder(This->allOrders);
-       OrderEncoder* oEncoder = allocOrderEncoder();
-       for(uint i=0; i<size; i++){
-               Order* order = getVectorOrder(This->allOrders, i);
-               OrderGraph *orderGraph=buildOrderGraph(order);
-               pushVectorOrderGraph(&oEncoder->graphs, orderGraph);
-       }
-       return oEncoder;
-}
-
 OrderGraph* buildOrderGraph(Order *order) {
        OrderGraph* orderGraph = allocOrderGraph(order);
        uint constrSize = getSizeVectorBoolean(&order->constraints);
@@ -138,13 +113,14 @@ void removeMustBeTrueNodes(OrderGraph* graph){
        //TODO: Nodes that all the incoming/outgoing edges are MUST_BE_TRUE
 }
 
-void orderAnalysis(CSolver* solver){
-       OrderEncoder* oEncoder = buildOrderGraphs(solver);
-       uint size = getSizeVectorOrderGraph(&oEncoder->graphs);
+void orderAnalysis(CSolver* This){
+       uint size = getSizeVectorOrder(This->allOrders);
        for(uint i=0; i<size; i++){
-               OrderGraph* graph = getVectorOrderGraph(&oEncoder->graphs, i);
+               Order* order = getVectorOrder(This->allOrders, i);
+               OrderGraph* graph = buildOrderGraph(order);
                removeMustBeTrueNodes(graph);
                computeStronglyConnectedComponentGraph(graph);
+               deleteOrderGraph(graph);
        }
 }
 
index b9d9c77c027e3bc53a23219126c8514b446c3ff4..eb908976424266a270550e60d0fa755cdbdf9c0e 100644 (file)
@@ -19,16 +19,9 @@ struct NodeInfo {
        uint finishTime;
 };
 
-struct OrderEncoder{
-       VectorOrderGraph graphs;
-};
-
 NodeInfo* allocNodeInfo();
 void deleteNodeInfo(NodeInfo* info);
-OrderEncoder* allocOrderEncoder();
-void deleteOrderEncoder(OrderEncoder* This);
 
-OrderEncoder* buildOrderGraphs(CSolver* This);
 OrderGraph* buildOrderGraph(Order *order);
 void computeStronglyConnectedComponentGraph(OrderGraph* graph);
 void orderAnalysis(CSolver* solver);