Skip to content

Commit 36a048c

Browse files
authored
add spzeros(::Tuple{<:Integer}) (#40515)
1 parent 55dd2f4 commit 36a048c

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

stdlib/SparseArrays/src/sparsevector.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,11 @@ Base.unaliascopy(S::SparseVector) = typeof(S)(length(S), unaliascopy(nonzeroinds
125125
### Construct empty sparse vector
126126

127127
spzeros(len::Integer) = spzeros(Float64, len)
128+
spzeros(dims::Tuple{<:Integer}) = spzeros(Float64, dims[1])
128129
spzeros(::Type{T}, len::Integer) where {T} = SparseVector(len, Int[], T[])
130+
spzeros(::Type{T}, dims::Tuple{<:Integer}) where {T} = spzeros(T, dims[1])
129131
spzeros(::Type{Tv}, ::Type{Ti}, len::Integer) where {Tv,Ti<:Integer} = SparseVector(len, Ti[], Tv[])
132+
spzeros(::Type{Tv}, ::Type{Ti}, dims::Tuple{<:Integer}) where {Tv,Ti<:Integer} = spzeros(Tv, Ti, dims[1])
130133

131134
LinearAlgebra.fillstored!(x::SparseVector, y) = (fill!(nonzeros(x), y); x)
132135

stdlib/SparseArrays/test/sparsevector.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,11 @@ end
7575
@testset "other constructors" begin
7676
# construct empty sparse vector
7777

78-
@test exact_equal(spzeros(Float64, 8), SparseVector(8, Int[], Float64[]))
78+
for dims in (8, (8,))
79+
@test exact_equal(spzeros(dims), SparseVector(8, Int[], Float64[]))
80+
@test exact_equal(spzeros(Float64, dims), SparseVector(8, Int[], Float64[]))
81+
@test exact_equal(spzeros(Float64, Int16, dims), SparseVector(8, Int16[], Float64[]))
82+
end
7983

8084
@testset "from list of indices and values" begin
8185
@test exact_equal(

0 commit comments

Comments
 (0)