1.1 --- a/src/test/preflow_test.cc Mon Sep 20 08:05:59 2004 +0000
1.2 +++ b/src/test/preflow_test.cc Mon Sep 20 08:27:34 2004 +0000
1.3 @@ -71,10 +71,10 @@
1.4
1.5 std::string f_name;
1.6 if( getenv("srcdir") ) {
1.7 - f_name = std::string(getenv("srcdir")) + "/preflow_graph.inp";
1.8 + f_name = std::string(getenv("srcdir")) + "/preflow_graph.dim";
1.9 }
1.10 else {
1.11 - f_name = "preflow_graph.inp";
1.12 + f_name = "preflow_graph.dim";
1.13 }
1.14
1.15 std::ifstream file(f_name.c_str());
1.16 @@ -87,11 +87,12 @@
1.17 readDimacs(file, G, cap, s, t);
1.18
1.19 FlowMap flow(G,0);
1.20 +
1.21
1.22 +
1.23 PType preflow_test(G, s, t, cap, flow);
1.24 preflow_test.run(PType::ZERO_FLOW);
1.25 -
1.26 -
1.27 +
1.28 CutMap mincut(G,false);
1.29 preflow_test.minCut(mincut);
1.30 int min_cut_value=cut_value(G,mincut,cap);
1.31 @@ -112,16 +113,10 @@
1.32 int flow_value=preflow_test.flowValue();
1.33
1.34
1.35 +
1.36 for(EdgeIt e(G); e!=INVALID; ++e) cap[e]=2*cap[e];
1.37 preflow_test.setCap(cap);
1.38
1.39 - NodeIt tmp_node(G,t);
1.40 - ++tmp_node;
1.41 - t=tmp_node;
1.42 -
1.43 - preflow_test.setTarget(t); //the max flow value remains 2*flow_value
1.44 - //warning: ++t must be a valid node. In preflow_graph, it is.
1.45 -
1.46 preflow_test.phase1(PType::PRE_FLOW);
1.47
1.48 CutMap mincut1(G,false);
1.49 @@ -141,10 +136,8 @@
1.50 CutMap minmincut2(G,false);
1.51 preflow_test.minMinCut(minmincut2);
1.52 min_min_cut_value=cut_value(G,minmincut2,cap);
1.53 -
1.54
1.55 preflow_test.maxMinCut(maxmincut);
1.56 -
1.57 max_min_cut_value=cut_value(G,maxmincut,cap);
1.58
1.59 check(preflow_test.flowValue() == min_cut_value &&
1.60 @@ -153,15 +146,27 @@
1.61 min_cut_value == 2*flow_value,
1.62 "The max flow value or the three min cut values were not doubled");
1.63
1.64 +
1.65 +
1.66 EdgeIt e(G);
1.67 - for( int i=1; i==1000; ++i ) {
1.68 - flow[e]=0;
1.69 + for( int i=1; i==10; ++i ) {
1.70 + flow.set(e,0);
1.71 ++e;
1.72 }
1.73
1.74 preflow_test.setFlow(flow);
1.75 +
1.76 + NodeIt tmp1(G,s);
1.77 + ++tmp1;
1.78 + if ( tmp1 != INVALID ) s=tmp1;
1.79 +
1.80 + NodeIt tmp2(G,t);
1.81 + ++tmp2;
1.82 + if ( tmp2 != INVALID ) t=tmp2;
1.83 +
1.84 preflow_test.setSource(s);
1.85 -
1.86 + preflow_test.setTarget(t);
1.87 +
1.88 preflow_test.run();
1.89
1.90 CutMap mincut3(G,false);