Number: 8
Title: unused edge weights
Submitter: Emden R. Gansner erg@research.att.com
Date: Fri Apr 20 10:16:28 2001
Subsys: Neato
Version:
System: *-*-
Severity: major
Problem:
Setting the edge weight attribute has no effect.
The problem is in diffeq_model. The initial loop traverses
all node pairs, ordered by their position in G->u.neato_nlist,
and calls agfindedge to see if an edge is associated with the pair.
Unfortunately, if agfindedge is called with (a,b), it assumes
a is the tail and b the head. For undirected graphs, this just
depends on how the user writes the edge. Thus, much of the time,
the call to agfindedge doesn't return the edge. (In fact, if the
user writes "a -- b;", the edge will be created as a-> b. Also,
a will precede b in G->u.neato_nlist, so agfindedge will be called
with (b,a), and the current choice is worse than random.)
Possible fixes: use an undirected version of agfindedge (Note:
agfindedge does find the edge; it just throws it away if the head
and tail don't match.) or call agfindedge with both orderings of
nodes.
Owner: north
Status: Fixed (27 December 2002)