[Lemon-commits] [lemon_svn] marci: r506 - in hugo/trunk/src/work: jacint marci

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 20:39:50 CET 2006


Author: marci
Date: Thu Apr 22 18:07:17 2004
New Revision: 506

Modified:
   hugo/trunk/src/work/jacint/preflowproba.h
   hugo/trunk/src/work/marci/edmonds_karp_demo.cc
   hugo/trunk/src/work/marci/graph_wrapper.h
   hugo/trunk/src/work/marci/makefile

Log:
preflow mods


Modified: hugo/trunk/src/work/jacint/preflowproba.h
==============================================================================
--- hugo/trunk/src/work/jacint/preflowproba.h	(original)
+++ hugo/trunk/src/work/jacint/preflowproba.h	Thu Apr 22 18:07:17 2004
@@ -40,8 +40,8 @@
 
 */
 
-#ifndef HUGO_PREFLOW_H
-#define HUGO_PREFLOW_H
+#ifndef HUGO_PREFLOW_PROBA_H
+#define HUGO_PREFLOW_PROBA_H
 
 #define H0 20
 #define H1 1
@@ -55,7 +55,7 @@
   template <typename Graph, typename T, 
 	    typename CapMap=typename Graph::EdgeMap<T>, 
             typename FlowMap=typename Graph::EdgeMap<T> >
-  class Preflow {
+  class PreflowProba {
     
     typedef typename Graph::Node Node;
     typedef typename Graph::Edge Edge;
@@ -78,7 +78,7 @@
     typedef typename ResGW::Edge ResEdge;
  
   public:
-    Preflow(Graph& _G, Node _s, Node _t, CapMap& _capacity, 
+    PreflowProba(Graph& _G, Node _s, Node _t, CapMap& _capacity, 
 	    FlowMap& _flow, bool _constzero, bool _res ) :
       G(_G), s(_s), t(_t), capacity(_capacity), flow(_flow), constzero(_constzero), res(_res) {}
     
@@ -682,7 +682,7 @@
 
 } //namespace hugo
 
-#endif //PREFLOW_H
+#endif //PREFLOW_PROBA_H
 
 
 

Modified: hugo/trunk/src/work/marci/edmonds_karp_demo.cc
==============================================================================
--- hugo/trunk/src/work/marci/edmonds_karp_demo.cc	(original)
+++ hugo/trunk/src/work/marci/edmonds_karp_demo.cc	Thu Apr 22 18:07:17 2004
@@ -9,6 +9,7 @@
 #include <time_measure.h>
 //#include <graph_wrapper.h>
 #include <preflow.h>
+#include <preflowproba.h>
 #include <for_each_macros.h>
 
 using namespace hugo;
@@ -70,7 +71,9 @@
   Timer ts;
   Graph::EdgeMap<int> flow(G); //0 flow
   Preflow<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> > 
-    pre_flow_test(G, s, t, cap, flow);
+    pre_flow_test(G, s, t, cap, flow, true);
+  PreflowProba<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> > 
+    pre_flow_proba(G, s, t, cap, flow, true, true);
   MaxFlow<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> > 
     max_flow_test(G, s, t, cap, flow);
 
@@ -83,6 +86,15 @@
   }
 
   {
+    std::cout << "wrapped preflow ..." << std::endl;
+    FOR_EACH_LOC(Graph::EdgeIt, e, G) flow.set(e, 0);
+    ts.reset();
+    pre_flow_proba.run();
+    std::cout << "elapsed time: " << ts << std::endl;
+    std::cout << "flow value: "<< pre_flow_test.flowValue() << std::endl;
+  }
+
+  {
     std::cout << "physical blocking flow augmentation ..." << std::endl;
     FOR_EACH_LOC(Graph::EdgeIt, e, G) flow.set(e, 0);
     ts.reset();

Modified: hugo/trunk/src/work/marci/graph_wrapper.h
==============================================================================
--- hugo/trunk/src/work/marci/graph_wrapper.h	(original)
+++ hugo/trunk/src/work/marci/graph_wrapper.h	Thu Apr 22 18:07:17 2004
@@ -696,6 +696,11 @@
     Node bNode(OutEdgeIt e) const { 
       return ((e.forward) ? graph->bNode(e.out) : graph->bNode(e.in)); }
 
+    Node aNode(InEdgeIt e) const { 
+      return ((e.forward) ? graph->aNode(e.in) : graph->aNode(e.out)); }
+    Node bNode(InEdgeIt e) const { 
+      return ((e.forward) ? graph->bNode(e.in) : graph->bNode(e.out)); }
+
 //    int nodeNum() const { return graph->nodeNum(); }
     //FIXME
     void edgeNum() const { }

Modified: hugo/trunk/src/work/marci/makefile
==============================================================================
--- hugo/trunk/src/work/marci/makefile	(original)
+++ hugo/trunk/src/work/marci/makefile	Thu Apr 22 18:07:17 2004
@@ -6,7 +6,7 @@
 BOOSTROOT ?= /home/marci/boost
 INCLUDEDIRS ?= -I../../include -I.. -I../{marci,jacint,alpar,klao,akos,athos} -I$(BOOSTROOT)
 LEDAINCLUDE ?= -I$(LEDAROOT)/incl
-CXXFLAGS = -g -O -W -Wall $(INCLUDEDIRS) -ansi -pedantic -ftemplate-depth-30
+CXXFLAGS = -g -O3 -W -Wall $(INCLUDEDIRS) -ansi -pedantic -ftemplate-depth-30
 
 LEDABINARIES = leda_graph_demo leda_bfs_dfs max_bipartite_matching_demo
 BINARIES = edmonds_karp_demo iterator_bfs_demo macro_test lg_vs_sg bfsit_vs_byhand bipartite_graph_wrapper_test
@@ -41,8 +41,8 @@
 leda_bfs_dfs: leda_bfs_dfs.o
 	$(CXX3) -Wall -O -L$(LEDAROOT) -o leda_bfs_dfs leda_bfs_dfs.o -lG -lL -lm
 
-edmonds_karp_demo: 
-	$(CXX3) $(CXXFLAGS) -o edmonds_karp_demo edmonds_karp_demo.cc
+#edmonds_karp_demo: 
+#	$(CXX3) $(CXXFLAGS) -o edmonds_karp_demo edmonds_karp_demo.cc
 #	$(CXX3) $(CXXFLAGS) -pg -o edmonds_karp_demo_prof edmonds_karp_demo.cc
 
 gw_vs_not: 



More information about the Lemon-commits mailing list