[Lemon-commits] [lemon_svn] alpar: r1607 - hugo/trunk/src/test

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


Author: alpar
Date: Sat Mar  5 00:12:10 2005
New Revision: 1607

Modified:
   hugo/trunk/src/test/dijkstra_heap_test.cc

Log:
The source node is reported to be reaches but it has no previous node/edge.


Modified: hugo/trunk/src/test/dijkstra_heap_test.cc
==============================================================================
--- hugo/trunk/src/test/dijkstra_heap_test.cc	(original)
+++ hugo/trunk/src/test/dijkstra_heap_test.cc	Sat Mar  5 00:12:10 2005
@@ -119,16 +119,18 @@
   for(NodeIt v(graph); v!=INVALID; ++v) {
     if ( dijkstra_test.reached(v) ) {
       Edge e=dijkstra_test.pred(v);
-      Node u=graph.source(e);
-      if ( dijkstra_test.dist(v) - dijkstra_test.dist(u) != cap[e] ) {
-	std::cout<<"Error in a shortest path tree edge! Difference: " 
-		 <<std::abs(dijkstra_test.dist(v) - dijkstra_test.dist(u) 
-			    - cap[e])<<std::endl;
-	++error2;
+      if(e!=INVALID) {
+	Node u=graph.source(e);
+	if ( dijkstra_test.dist(v) - dijkstra_test.dist(u) != cap[e] ) {
+	  std::cout<<"Error in a shortest path tree edge! Difference: " 
+		   <<std::abs(dijkstra_test.dist(v) - dijkstra_test.dist(u) 
+			      - cap[e])<<std::endl;
+	  ++error2;
+	}
       }
     }
   }
-
+  
 
   
   std::cout << error1 << " non-tree and " << error2 
@@ -168,16 +170,18 @@
   for(NodeIt n(graph); v!=INVALID; ++v) {
     if ( dijkstra_test2.reached(v) ) {
       Edge e=dijkstra_test2.pred(v);
-      Node u=graph.source(e);
-      if ( dijkstra_test2.dist(v) - dijkstra_test2.dist(u) != cap[e] ) {
-	std::cout<<"Error in a shortest path tree edge! Difference: " 
-		 <<std::abs(dijkstra_test2.dist(v) - dijkstra_test2.dist(u) 
-			    - cap[e])<<std::endl;
-	++error2;
+      if(e!=INVALID) {
+	Node u=graph.source(e);
+	if ( dijkstra_test2.dist(v) - dijkstra_test2.dist(u) != cap[e] ) {
+	  std::cout<<"Error in a shortest path tree edge! Difference: " 
+		   <<std::abs(dijkstra_test2.dist(v) - dijkstra_test2.dist(u) 
+			      - cap[e])<<std::endl;
+	  ++error2;
+	}
       }
     }
   }
-
+  
 
   std::cout << error1 << " non-tree and " << error2 
 	    << " shortest path tree edge is erroneous."<<std::endl;
@@ -215,16 +219,18 @@
   for(NodeIt n(graph); v!=INVALID; ++v) {
     if ( dijkstra_test3.reached(v) ) {
       Edge e=dijkstra_test3.pred(v);
-      Node u=graph.source(e);
-      if ( dijkstra_test3.dist(v) - dijkstra_test3.dist(u) != cap[e] ) {
-	std::cout<<"Error in a shortest path tree edge! Difference: " 
-		 <<std::abs(dijkstra_test3.dist(v) - dijkstra_test3.dist(u) 
-			    - cap[e])<<std::endl;
-	++error2;
+      if(e!=INVALID) {
+	Node u=graph.source(e);
+	if ( dijkstra_test3.dist(v) - dijkstra_test3.dist(u) != cap[e] ) {
+	  std::cout<<"Error in a shortest path tree edge! Difference: " 
+		   <<std::abs(dijkstra_test3.dist(v) - dijkstra_test3.dist(u) 
+			      - cap[e])<<std::endl;
+	  ++error2;
+	}
       }
     }
   }
-
+  
 
   std::cout << error1 << " non-tree and " << error2 
 	    << " shortest path tree edge is erroneous."<<std::endl;



More information about the Lemon-commits mailing list