# HG changeset patch # User marci # Date 1094144193 0 # Node ID c3187cafcabf753749aab80a934d4a9a0b5a128c # Parent 584270fba752e5af547bc4cb6e782634772d2082 mincostflow_test is ok. diff -r 584270fba752 -r c3187cafcabf src/hugo/mincostflows.h --- a/src/hugo/mincostflows.h Thu Sep 02 15:30:50 2004 +0000 +++ b/src/hugo/mincostflows.h Thu Sep 02 16:56:33 2004 +0000 @@ -11,7 +11,6 @@ #include #include #include -#include namespace hugo { @@ -116,16 +115,11 @@ //Resetting variables from previous runs total_length = 0; - for(typename Graph::EdgeIt e=loopFirst(typename Graph::EdgeIt(), (G)); e!=INVALID; ++e){ - flow.set(e,0); - } + for (typename Graph::EdgeIt e(G); e!=INVALID; ++e) flow.set(e, 0); //Initialize the potential to zero - for(typename Graph::NodeIt n=loopFirst(typename Graph::NodeIt(), (G)); n!=INVALID; ++n){ - potential.set(n,0); - } + for (typename Graph::NodeIt n(G); n!=INVALID; ++n) potential.set(n, 0); - //We need a residual graph ResGraphType res_graph(G, capacity, flow); @@ -144,11 +138,8 @@ }; //We have to change the potential - //#define FOR_EACH_LOC(Ittype, e, g) for(Ittype e=loopFirst(Ittype(), (g)); (g).valid(e); (g).next(e)) - //FOR_EACH_LOC(typename ResGraphType::NodeIt, n, res_graph){ - for(typename ResGraphType::NodeIt n=loopFirst(typename ResGraphType::NodeIt(), (res_graph)); n!=INVALID; ++n){ + for(typename ResGraphType::NodeIt n(res_graph); n!=INVALID; ++n) potential[n] += dijkstra.distMap()[n]; - } //Augmenting on the sortest path @@ -197,9 +188,7 @@ bool checkComplementarySlackness(){ Length mod_pot; Length fl_e; - //#define FOR_EACH_LOC(Ittype, e, g) for(Ittype e=loopFirst(Ittype(), (g)); (g).valid(e); (g).next(e)) - //FOR_EACH_LOC(typename Graph::EdgeIt, e, G){ - for(typename Graph::EdgeIt e=loopFirst(typename Graph::EdgeIt(), (G)); e!=INVALID; ++e){ + for(typename Graph::EdgeIt e(G); e!=INVALID; ++e) { //C^{\Pi}_{i,j} mod_pot = length[e]-potential[G.head(e)]+potential[G.tail(e)]; fl_e = flow[e]; diff -r 584270fba752 -r c3187cafcabf src/hugo/minlengthpaths.h --- a/src/hugo/minlengthpaths.h Thu Sep 02 15:30:50 2004 +0000 +++ b/src/hugo/minlengthpaths.h Thu Sep 02 16:56:33 2004 +0000 @@ -12,7 +12,6 @@ #include #include #include -#include namespace hugo { @@ -83,10 +82,8 @@ //The name here suggests that the flow has only 0/1 values. EdgeIntMap reversed(G); - //FOR_EACH_LOC(typename Graph::EdgeIt, e, G){ - for(typename Graph::EdgeIt e=loopFirst(typename Graph::EdgeIt(), (G)); e!=INVALID; ++e){ + for(typename Graph::EdgeIt e(G); e!=INVALID; ++e) reversed[e] = mincost_flow.getFlow()[e]; - } paths.clear(); //total_length=0; diff -r 584270fba752 -r c3187cafcabf src/test/Makefile.am --- a/src/test/Makefile.am Thu Sep 02 15:30:50 2004 +0000 +++ b/src/test/Makefile.am Thu Sep 02 16:56:33 2004 +0000 @@ -4,7 +4,8 @@ check_PROGRAMS = graph_test dijkstra_test bfs_test dfs_test time_measure_test \ error_test xy_test \ - unionfind_test test_tools_pass test_tools_fail + unionfind_test test_tools_pass test_tools_fail \ + minlengthpaths_test mincostflows_test TESTS = $(check_PROGRAMS) XFAIL_TESTS = test_tools_fail @@ -19,4 +20,6 @@ xy_test_SOURCES = xy_test.cc test_tools_pass_SOURCES = test_tools_pass.cc test_tools_fail_SOURCES = test_tools_fail.cc +minlengthpaths_test_SOURCES = minlengthpaths_test.cc +mincostflows_test_SOURCES = mincostflows_test.cc