mirror of
https://github.com/gonum/gonum.git
synced 2025-10-21 06:09:26 +08:00
graph/simple: separate weighted and unweighted edge implementations
This commit is contained in:
@@ -218,11 +218,11 @@ func (g *Grid) EdgeBetween(u, v graph.Node) graph.Edge {
|
||||
func (g *Grid) WeightedEdgeBetween(u, v graph.Node) graph.WeightedEdge {
|
||||
if g.HasEdgeBetween(u, v) {
|
||||
if !g.AllowDiagonal || g.UnitEdgeWeight {
|
||||
return simple.Edge{F: u, T: v, W: 1}
|
||||
return simple.WeightedEdge{F: u, T: v, W: 1}
|
||||
}
|
||||
ux, uy := g.XY(u)
|
||||
vx, vy := g.XY(v)
|
||||
return simple.Edge{F: u, T: v, W: math.Hypot(ux-vx, uy-vy)}
|
||||
return simple.WeightedEdge{F: u, T: v, W: math.Hypot(ux-vx, uy-vy)}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user