Hi and happy new year graph coders!

The shortest_distance function implements the Floyd's algorithm. I am

carefully following the example provided by the docs

<https://graph-tool.skewed.de/static/doc/topology.html#graph_tool.topology.shortest_distance>

but the function doesn't return the expected result.

Here is my trivial try:

# -------------------

import graph_tool as gt

from graph_tool.topology import shortest_distance

import numpy as np

wedges=[(2, 0, 6.0), (0, 3, 7.0), (0, 2, 2.0)]

print(wedges)

# Définition of the weighted graph

g= gt.Graph(directed=True)

weight = g.new_edge_property("double")

g.add_edge_list(np.array(wedges), eprops=[weight])

# Floyd call

dist=shortest_distance(g, dense=True)

# I'm expecting the vector distance from vertex 2

print(dist[g.vertex(2)])

# -------------------

outputting :

# -------------------

[(2, 0, 6.0), (0, 3, 7.0), (0, 2, 2.0)]

array([ 1, 2147483647, 0, 2], dtype=int32)

# -------------------

This not the correct distance vector from the 2-indexed node nor the correct

predecessor vector. And I don't understand why I get an int32 vector since

the weights have double type.

Can somebody please correct my code in order to get the correct distances?

Pascal