On 07.12.2014 18:08, Alessandro wrote:
> Hello,
> I want to try graph-tool because it seems a very powerful and fast way to 
> work with graphs in python.
>
> I installed it with the pre-compiled package for ubuntu 14.04 on a 32 bit 
> machine. I tested this code
>
> from graph_tool.all import *
>
> g = Graph()
> v1 = g.add_vertex()
> v2 = g.add_vertex()
> v3 = g.add_vertex()
> v4 = g.add_vertex()
> v5 = g.add_vertex()
>
> e1 = g.add_edge(v1, v5)
> e2 = g.add_edge(v2, v3)
> e3 = g.add_edge(v3, v4)
> e4 = g.add_edge(v4, v2)
> e5 = g.add_edge(v4, v5)
> e6 = g.add_edge(v4, v1)
>
> weights = g.new_edge_property("int")
> weights[e1] = 2
> weights[e2] = 3
> weights[e3] = 2
> weights[e4] = -1
> weights[e5] = 5
> weights[e6] = 1
>
> minimized, dist, pred = bellman_ford_search(g, g.vertex(0), weights)
>
> and what I get is:
>
>   File "/usr/lib/python2.7/dist-packages/graph_tool/search/__init__.py", line 
> 1118, in bellman_ford_search
>     zero, infinity)
> OverflowError: Python int too large to convert to C long.
>
> In case I add the infinity parameter, so minimized, dist, pred = 
> bellman_ford_search(g, g.vertex(0), weights, infinity=int)
>
> I get
>
>   File "graphTest2.py", line 26, in <module>
>     minimized, dist, pred = bellman_ford_search(g, g.vertex(0), weights, 
> infinity=int)
>   File "/usr/lib/python2.7/dist-packages/graph_tool/search/__init__.py", line 
> 1103, in bellman_ford_search
>     infinity = _python_type(dist_map.value_type())(infinity)
> TypeError: descriptor '__trunc__' of 'int' object needs an argument
>
> and the same happens with infinity=float.
>
> I tested dijkstra_search, that uses infinity as well, but I don't get any 
> problem.
>
> Could you please tell me if I am doing something wrong, or if there is a 
> problem?

The 'infinity' option expects the _value_ not the type of
infinity. Since you are using an integer-valued map, you should use
something like infinity=((1 << 31) - 1).

Best,
Tiago

-- 
Tiago de Paula Peixoto <[email protected]>

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
graph-tool mailing list
[email protected]
http://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to