Skip to content
This repository was archived by the owner on Oct 8, 2021. It is now read-only.

Commit 681943f

Browse files
committed
added constructor
1 parent e900189 commit 681943f

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

src/simpleweighteddigraph.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ function SimpleWeightedDiGraph(g::LightGraphs.SimpleGraphs.AbstractSimpleGraph,
3939
return SimpleWeightedDiGraph{T, U}(x.*adjacency_matrix(g, U)')
4040
end
4141

42+
# SimpleWeightedGraph{T, U}(SimpleGraph)
43+
function (::Type{SimpleWeightedDiGraph{T, U}})(g::LightGraphs.SimpleGraphs.SimpleDiGraph) where T<:Integer where U <: Real
44+
SimpleWeightedDiGraph{T, U}(adjacency_matrix(LightGraphs.SimpleGraphs.SimpleDiGraph{T}(g), U))
45+
end
46+
4247
# DiGraph(srcs, dsts, weights)
4348
SimpleWeightedDiGraph(i::AbstractVector{T}, j::AbstractVector{T}, v::AbstractVector{U}) where T<:Integer where U<:Real =
4449
SimpleWeightedDiGraph{T, U}(sparse(i,j,v))

src/simpleweightedgraph.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ SimpleWeightedGraph(g::LightGraphs.SimpleGraphs.SimpleGraph{T}, x::U) where T <:
4747
SimpleWeightedGraph(g::LightGraphs.SimpleGraphs.SimpleDiGraph{T}, x::U) where T <: Integer where U <: Real =
4848
SimpleWeightedGraph{T, U}(x.*adjacency_matrix(LightGraphs.SimpleGraphs.SimpleGraph(g), U))
4949

50+
# SimpleWeightedGraph{T, U}(SimpleGraph)
51+
function (::Type{SimpleWeightedGraph{T, U}})(g::LightGraphs.SimpleGraphs.SimpleGraph) where T<:Integer where U <: Real
52+
SimpleWeightedGraph{T, U}(adjacency_matrix(LightGraphs.SimpleGraphs.SimpleGraph{T}(g), U))
53+
end
54+
5055
# DiGraph(srcs, dsts, weights)
5156
SimpleWeightedGraph(i::AbstractVector{T}, j::AbstractVector{T}, v::AbstractVector{U}) where T<:Integer where U<:Real =
5257
SimpleWeightedGraph{T, U}(sparse(i,j,v))

test/simpleweightedgraph.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,4 +175,16 @@ importall SimpleWeightedGraphs
175175
g = SimpleWeightedDiGraph(PathGraph(5), 4.0)
176176
@test sum(weights(g)) == ne(g) * 4.0
177177

178+
gx = Graph(4,3)
179+
for g in testgraphs(gx)
180+
@test eltype(SimpleWeightedGraph(g)) == eltype(g)
181+
end
182+
183+
gx = DiGraph(4,3)
184+
for g in testdigraphs(gx)
185+
@test eltype(SimpleWeightedGraph(g)) == eltype(g)
186+
end
187+
188+
189+
178190
end

0 commit comments

Comments
 (0)