From: bdemsky Date: Tue, 15 Aug 2017 00:18:08 +0000 (-0700) Subject: Get rid of OrderEncoder Structure X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=bdd0d753dd239384853d25a7a738727e046db1e4;p=satune.git Get rid of OrderEncoder Structure --- diff --git a/src/Encoders/orderencoder.c b/src/Encoders/orderencoder.c index 1fc80d1..c53d205 100644 --- a/src/Encoders/orderencoder.c +++ b/src/Encoders/orderencoder.c @@ -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; igraphs, i)); - } - ourfree(This); -} - -OrderEncoder* buildOrderGraphs(CSolver* This) { - uint size = getSizeVectorOrder(This->allOrders); - OrderEncoder* oEncoder = allocOrderEncoder(); - for(uint i=0; iallOrders, 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; igraphs, i); + Order* order = getVectorOrder(This->allOrders, i); + OrderGraph* graph = buildOrderGraph(order); removeMustBeTrueNodes(graph); computeStronglyConnectedComponentGraph(graph); + deleteOrderGraph(graph); } } diff --git a/src/Encoders/orderencoder.h b/src/Encoders/orderencoder.h index b9d9c77..eb90897 100644 --- a/src/Encoders/orderencoder.h +++ b/src/Encoders/orderencoder.h @@ -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);