[Lemon-commits] Alpar Juttner: Merge bugfix #392 to branch 1.0
Lemon HG
hg at lemon.cs.elte.hu
Wed Sep 22 09:42:16 CEST 2010
details: http://lemon.cs.elte.hu/hg/lemon/rev/b7ed95cd94a3
changeset: 1008:b7ed95cd94a3
user: Alpar Juttner <alpar [at] cs.elte.hu>
date: Wed Sep 22 09:24:07 2010 +0200
description:
Merge bugfix #392 to branch 1.0
diffstat:
lemon/dfs.h | 4 ++--
test/dfs_test.cc | 13 ++++++++++++-
2 files changed, 14 insertions(+), 3 deletions(-)
diffs (63 lines):
diff --git a/lemon/dfs.h b/lemon/dfs.h
--- a/lemon/dfs.h
+++ b/lemon/dfs.h
@@ -558,7 +558,7 @@
///added with addSource() before using this function.
void start(Node t)
{
- while ( !emptyQueue() && G->target(_stack[_stack_head])!=t )
+ while ( !emptyQueue() && !(*_reached)[t] )
processNextArc();
}
@@ -1512,7 +1512,7 @@
/// \pre init() must be called and a root node should be added
/// with addSource() before using this function.
void start(Node t) {
- while ( !emptyQueue() && _digraph->target(_stack[_stack_head]) != t )
+ while ( !emptyQueue() && !(*_reached)[t] )
processNextArc();
}
diff --git a/test/dfs_test.cc b/test/dfs_test.cc
--- a/test/dfs_test.cc
+++ b/test/dfs_test.cc
@@ -50,7 +50,10 @@
"6 3 7\n"
"@attributes\n"
"source 0\n"
- "target 5\n";
+ "target 5\n"
+ "source1 6\n"
+ "target1 3\n";
+
void checkDfsCompile()
{
@@ -144,11 +147,14 @@
Digraph G;
Node s, t;
+ Node s1, t1;
std::istringstream input(test_lgf);
digraphReader(G, input).
node("source", s).
node("target", t).
+ node("source1", s1).
+ node("target1", t1).
run();
Dfs<Digraph> dfs_test(G);
@@ -175,6 +181,11 @@
}
{
+ Dfs<Digraph> dfs(G);
+ check(dfs.run(s1,t1) && dfs.reached(t1),"Node 3 is reachable from Node 6.");
+ }
+
+ {
NullMap<Node,Arc> myPredMap;
dfs(G).predMap(myPredMap).run(s);
}
More information about the Lemon-commits
mailing list