projects
/
mtp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ecead8a
)
OCD cosmetics.
author
Francois Fleuret
<francois@fleuret.org>
Wed, 19 Dec 2012 22:17:53 +0000
(23:17 +0100)
committer
Francois Fleuret
<francois@fleuret.org>
Wed, 19 Dec 2012 22:17:53 +0000
(23:17 +0100)
mtp_graph.cc
patch
|
blob
|
history
diff --git
a/mtp_graph.cc
b/mtp_graph.cc
index
6c97c5d
..
343ebf7
100644
(file)
--- a/
mtp_graph.cc
+++ b/
mtp_graph.cc
@@
-169,7
+169,7
@@
MTPGraph::MTPGraph(int nb_vertices, int nb_edges,
paths = 0;
nb_paths = 0;
paths = 0;
nb_paths = 0;
- if(compute_dp_
distance
s()) {
+ if(compute_dp_
rank
s()) {
// Here the distance_from_source field of every vertex is the
// number of DP iterations needed to update it. Hence we only have
// to process the vertex in that order.
// Here the distance_from_source field of every vertex is the
// number of DP iterations needed to update it. Hence we only have
// to process the vertex in that order.
@@
-261,7
+261,7
@@
void MTPGraph::force_positivized_lengths() {
#endif
}
#endif
}
-int MTPGraph::compute_dp_
distance
s() {
+int MTPGraph::compute_dp_
rank
s() {
Vertex *v;
Edge *e;
Vertex *v;
Edge *e;
@@
-271,7
+271,9
@@
int MTPGraph::compute_dp_distances() {
// removes the source, then the nodes with incoming edge only from
// the source, etc. If it can remove all the nodes that way, the
// graph is a DAG. If at some point it can not remove node anymore
// removes the source, then the nodes with incoming edge only from
// the source, etc. If it can remove all the nodes that way, the
// graph is a DAG. If at some point it can not remove node anymore
- // and there are some remaining nodes, the graph is not a DAG.
+ // and there are some remaining nodes, the graph is not a DAG. The
+ // rank of a node is the iteration at which is it removed, and we
+ // set the distance_from_source fields to this value.
Vertex **active = new Vertex *[_nb_vertices];
Vertex **active = new Vertex *[_nb_vertices];
@@
-281,16
+283,16
@@
int MTPGraph::compute_dp_distances() {
active[k] = &_vertices[k];
}
active[k] = &_vertices[k];
}
- scalar_t
nb_iterations
= 1;
+ scalar_t
rank
= 1;
int nb_active = _nb_vertices, pred_nb_active;
do {
// We set the distance_from_source field of all the vertices with incoming
int nb_active = _nb_vertices, pred_nb_active;
do {
// We set the distance_from_source field of all the vertices with incoming
- // edges to the current
nb_iterations
value
+ // edges to the current
rank
value
for(int f = 0; f < nb_active; f++) {
v = active[f];
for(e = v->leaving_edges; e; e = e->next_leaving_edge) {
for(int f = 0; f < nb_active; f++) {
v = active[f];
for(e = v->leaving_edges; e; e = e->next_leaving_edge) {
- e->terminal_vertex->distance_from_source =
nb_iterations
;
+ e->terminal_vertex->distance_from_source =
rank
;
}
}
}
}
@@
-300,12
+302,12
@@
int MTPGraph::compute_dp_distances() {
// We keep all the vertices with incoming nodes
for(int f = 0; f < pred_nb_active; f++) {
v = active[f];
// We keep all the vertices with incoming nodes
for(int f = 0; f < pred_nb_active; f++) {
v = active[f];
- if(v->distance_from_source ==
nb_iterations
) {
+ if(v->distance_from_source ==
rank
) {
active[nb_active++] = v;
}
}
active[nb_active++] = v;
}
}
-
nb_iterations
++;
+
rank
++;
} while(nb_active < pred_nb_active);
delete[] active;
} while(nb_active < pred_nb_active);
delete[] active;