Bug Fix
Fri Aug 4 16:06:46 WEST 2006 Miguel Vilaca <jmvilaca@di.uminho.pt>
* Bug Fix
Fixes a bug that occurs in net reduction when there were direct
edge(s) other than the active pair between those two agents.
{
hunk ./src/INReduction.hs 122
+ edgesInvolvingNodesToBeRemove e@((a,_),(b,_)) (ly,ln) | a `elem` [nToNr, nFromNr] = (e:ly , ln)
+ | b `elem` [nToNr, nFromNr] = (swap e : ly, ln)
+ | otherwise = (ly , e:ln) [_$_]
+ correctEdge [(_,from), (_,to)] = (from, to)
+ correctEdge _ = error "A list of two elements was expected but one of different length was found in reduction function."
+
+ nodesToBeRemoveConnected ((nr1,p1),_) (c,_) = Just c == otherExtremeOfEdgeConnectedOnPort network nr1 p1
+
hunk ./src/INReduction.hs 131
+ (\(a,b) -> a ++ b) . [_$_]
+ ((map correctEdge . groupBy nodesToBeRemoveConnected) >< id) . [_$_]
+ foldr edgesInvolvingNodesToBeRemove ([],[]) .
}