for(int k = 0; k < _nb_vertices; k++) {
v = _vertices + k;
for(e = v->leaving_edge_list_root; e; e = e->next_leaving_edge) {
- tv = e->terminal_vertex - _vertices;
+ tv = int(e->terminal_vertex - _vertices);
nb_predecessors[tv]++;
}
}
v = _vertices + without_predecessors[l];
v->distance_from_source = rank;
for(e = v->leaving_edge_list_root; e; e = e->next_leaving_edge) {
- tv = e->terminal_vertex - _vertices;
+ tv = int(e->terminal_vertex - _vertices);
nb_predecessors[tv]--;
ASSERT(nb_predecessors[tv] >= 0);
if(nb_predecessors[tv] == 0) {
int l = 0, nb_occupied_next;
if(path) {
- path->nodes[l++] = e->origin_vertex - _vertices;
+ path->nodes[l++] = int(e->origin_vertex - _vertices);
path->length = e->length;
} else l++;
while(e->terminal_vertex != _sink) {
if(path) {
- path->nodes[l++] = e->terminal_vertex - _vertices;
+ path->nodes[l++] = int(e->terminal_vertex - _vertices);
path->length += e->length;
} else l++;
}
if(path) {
- path->nodes[l++] = e->terminal_vertex - _vertices;
+ path->nodes[l++] = int(e->terminal_vertex - _vertices);
path->length += e->length;
} else l++;