[Lemon-commits] Balazs Dezso: Fix in HaoOrlin (#264)
Lemon HG
hg at lemon.cs.elte.hu
Tue Apr 21 16:33:29 CEST 2009
details: http://lemon.cs.elte.hu/hg/lemon/rev/2ca0cdb5f366
changeset: 629:2ca0cdb5f366
user: Balazs Dezso <deba [at] inf.elte.hu>
date: Sat Apr 18 21:01:12 2009 +0200
description:
Fix in HaoOrlin (#264)
diffstat:
lemon/hao_orlin.h | 2 ++
test/hao_orlin_test.cc | 36 ++++++++++++------------------------
2 files changed, 14 insertions(+), 24 deletions(-)
diffs (96 lines):
diff --git a/lemon/hao_orlin.h b/lemon/hao_orlin.h
--- a/lemon/hao_orlin.h
+++ b/lemon/hao_orlin.h
@@ -226,6 +226,7 @@
for (NodeIt n(_graph); n != INVALID; ++n) {
(*_excess)[n] = 0;
+ (*_source_set)[n] = false;
}
for (ArcIt a(_graph); a != INVALID; ++a) {
@@ -525,6 +526,7 @@
for (NodeIt n(_graph); n != INVALID; ++n) {
(*_excess)[n] = 0;
+ (*_source_set)[n] = false;
}
for (ArcIt a(_graph); a != INVALID; ++a) {
diff --git a/test/hao_orlin_test.cc b/test/hao_orlin_test.cc
--- a/test/hao_orlin_test.cc
+++ b/test/hao_orlin_test.cc
@@ -111,30 +111,24 @@
ho.run();
ho.minCutMap(cut);
- // BUG: The cut value should be positive
- check(ho.minCutValue() == 0, "Wrong cut value");
- // BUG: It should work
- //check(ho.minCutValue() == cutValue(graph, cap1, cut), "Wrong cut value");
+ check(ho.minCutValue() == 1, "Wrong cut value");
+ check(ho.minCutValue() == cutValue(graph, cap1, cut), "Wrong cut value");
}
{
HaoOrlin<SmartDigraph> ho(graph, cap2);
ho.run();
ho.minCutMap(cut);
-
- // BUG: The cut value should be positive
- check(ho.minCutValue() == 0, "Wrong cut value");
- // BUG: It should work
- //check(ho.minCutValue() == cutValue(graph, cap2, cut), "Wrong cut value");
+
+ check(ho.minCutValue() == 1, "Wrong cut value");
+ check(ho.minCutValue() == cutValue(graph, cap2, cut), "Wrong cut value");
}
{
HaoOrlin<SmartDigraph> ho(graph, cap3);
ho.run();
ho.minCutMap(cut);
- // BUG: The cut value should be positive
- check(ho.minCutValue() == 0, "Wrong cut value");
- // BUG: It should work
- //check(ho.minCutValue() == cutValue(graph, cap3, cut), "Wrong cut value");
+ check(ho.minCutValue() == 1, "Wrong cut value");
+ check(ho.minCutValue() == cutValue(graph, cap3, cut), "Wrong cut value");
}
typedef Undirector<SmartDigraph> UGraph;
@@ -145,30 +139,24 @@
ho.run();
ho.minCutMap(cut);
- // BUG: The cut value should be 2
- check(ho.minCutValue() == 1, "Wrong cut value");
- // BUG: It should work
- //check(ho.minCutValue() == cutValue(ugraph, cap1, cut), "Wrong cut value");
+ check(ho.minCutValue() == 2, "Wrong cut value");
+ check(ho.minCutValue() == cutValue(ugraph, cap1, cut), "Wrong cut value");
}
{
HaoOrlin<UGraph, SmartDigraph::ArcMap<int> > ho(ugraph, cap2);
ho.run();
ho.minCutMap(cut);
- // TODO: Check this cut value
- check(ho.minCutValue() == 4, "Wrong cut value");
- // BUG: It should work
- //check(ho.minCutValue() == cutValue(ugraph, cap2, cut), "Wrong cut value");
+ check(ho.minCutValue() == 5, "Wrong cut value");
+ check(ho.minCutValue() == cutValue(ugraph, cap2, cut), "Wrong cut value");
}
{
HaoOrlin<UGraph, SmartDigraph::ArcMap<int> > ho(ugraph, cap3);
ho.run();
ho.minCutMap(cut);
- // TODO: Check this cut value
check(ho.minCutValue() == 5, "Wrong cut value");
- // BUG: It should work
- //check(ho.minCutValue() == cutValue(ugraph, cap3, cut), "Wrong cut value");
+ check(ho.minCutValue() == cutValue(ugraph, cap3, cut), "Wrong cut value");
}
return 0;
More information about the Lemon-commits
mailing list