From e28f136e01a88fca422beaa6ddfa3b7bdfaaad45 Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Tue, 12 Mar 2019 21:41:29 +1030 Subject: [PATCH] graph: use src edges in dst graph --- graph/graph.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/graph/graph.go b/graph/graph.go index 11f652dd..c973583d 100644 --- a/graph/graph.go +++ b/graph/graph.go @@ -244,10 +244,11 @@ func Copy(dst Builder, src Graph) { nodes.Reset() for nodes.Next() { u := nodes.Node() - to := src.From(u.ID()) + uid := u.ID() + to := src.From(uid) for to.Next() { v := to.Node() - dst.SetEdge(dst.NewEdge(u, v)) + dst.SetEdge(src.Edge(uid, v.ID())) } } } @@ -271,10 +272,11 @@ func CopyWeighted(dst WeightedBuilder, src Weighted) { nodes.Reset() for nodes.Next() { u := nodes.Node() - to := src.From(u.ID()) + uid := u.ID() + to := src.From(uid) for to.Next() { v := to.Node() - dst.SetWeightedEdge(dst.NewWeightedEdge(u, v, src.WeightedEdge(u.ID(), v.ID()).Weight())) + dst.SetWeightedEdge(src.WeightedEdge(uid, v.ID())) } } }