(*os) << " node [shape=circle,width=0.75,fixedsize=true];" << endl;
(*os) << " edge [color=gray,arrowhead=open]" << endl;
(*os) << " " << _source->id << " [peripheries=2];" << endl;
(*os) << " node [shape=circle,width=0.75,fixedsize=true];" << endl;
(*os) << " edge [color=gray,arrowhead=open]" << endl;
(*os) << " " << _source->id << " [peripheries=2];" << endl;
-// This method does not change the edge occupation. It update
-// distance_from_source and pred_edge_toward_source.
+// This method does not change the edge occupation. It only set
+// properly for every vertex the fields distance_from_source and
+// pred_edge_toward_source.
+
- // We use one iteration of find_shortest_path simply to propagate
- // the distance to make all the edge lengths positive.
+ // We use call find_shortest_path here to set properly the distance,
+ // so that we can make all the edge lengths positive at the first
+ // iteration.
if(_sink->pred_edge_toward_source) {
// If yes, compute the length of the best path
v = _sink;
if(_sink->pred_edge_toward_source) {
// If yes, compute the length of the best path
v = _sink;