class Edge;
class MTPGraph {
+ // Uses the estimated vertex distances to the source to make all the
+ // edge lengths positive, resulting in an identical added value to
+ // the total length of any path from source to a certain node (in
+ // particular the sink)
void update_positivized_lengths();
+
// It may happen that numerical errors in update_positivized_lengths
// make the resulting lengths negative, albeit very small. The
- // following method force such length to zero, and print the
- // correction when compiled in VERBOSE mode.
+ // following method forces all negative lengths to zero, and prints
+ // the total correction when compiled in VERBOSE mode.
void force_positivized_lengths();
+
// Set the edge pred_edge_toward_source correspondingly to the path
// of shortest length. The current implementation is not Dijkstra's!
void find_shortest_path();
+
// Follows the path starting on edge e and returns its length. If
// nodes is non-null, stores in it the nodes met along the path.
int retrieve_one_path(Edge *e, Path *path);
+
// Returns if the graph is a DAG
int is_dag();