Skip to content

Commit 6a97782

Browse files
committed
add rand([X], Sparse..., p::AbstractFloat, dims...)
1 parent 137f1f1 commit 6a97782

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

src/containers.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,13 @@ macro make_container(margs...)
6060
end
6161

6262
@make_container(::Type{String}, [n::Integer])
63+
6364
# sparse vectors & matrices
65+
@make_container(::Type{SparseVector}, p::AbstractFloat, m::Integer)
66+
@make_container(::Type{SparseVector}, p::AbstractFloat, d::Dims{1})
67+
@make_container(::Type{SparseMatrixCSC}, p::AbstractFloat, m::Integer, n::Integer)
68+
@make_container(::Type{SparseMatrixCSC}, p::AbstractFloat, d::Dims{2})
69+
6470
# Tuple as a container
6571
@make_container(T::Type{<:Tuple})
6672
@make_container(::Type{Tuple}, n::Integer)

test/runtests.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,21 +138,33 @@ const spString = Sampler(MersenneTwister, String)
138138
# sparse
139139
@test rand(rng..., Float64, .5, 10) isa SparseVector{Float64}
140140
@test rand(rng..., Float64, .5, (10,)) isa SparseVector{Float64}
141+
@test rand(rng..., Float64, SparseVector, .5, 10) isa SparseVector{Float64}
142+
@test rand(rng..., Float64, SparseVector, .5, (10,)) isa SparseVector{Float64}
141143

142144
@test rand(rng..., .5, 10) isa SparseVector{Float64}
143145
@test rand(rng..., .5, (10,)) isa SparseVector{Float64}
146+
@test rand(rng..., SparseVector, .5, 10) isa SparseVector{Float64}
147+
@test rand(rng..., SparseVector, .5, (10,)) isa SparseVector{Float64}
144148

145149
@test rand(rng..., Int, .5, 10) isa SparseVector{Int}
146150
@test rand(rng..., Int, .5, (10,)) isa SparseVector{Int}
151+
@test rand(rng..., Int, SparseVector, .5, 10) isa SparseVector{Int}
152+
@test rand(rng..., Int, SparseVector, .5, (10,)) isa SparseVector{Int}
147153

148154
@test rand(rng..., Float64, .5, 10, 3) isa SparseMatrixCSC{Float64}
149155
@test rand(rng..., Float64, .5, (10, 3)) isa SparseMatrixCSC{Float64}
156+
@test rand(rng..., Float64, SparseMatrixCSC, .5, 10, 3) isa SparseMatrixCSC{Float64}
157+
@test rand(rng..., Float64, SparseMatrixCSC, .5, (10, 3)) isa SparseMatrixCSC{Float64}
150158

151159
@test rand(rng..., .5, 10, 3) isa SparseMatrixCSC{Float64}
152160
@test rand(rng..., .5, (10, 3)) isa SparseMatrixCSC{Float64}
161+
@test rand(rng..., SparseMatrixCSC, .5, 10, 3) isa SparseMatrixCSC{Float64}
162+
@test rand(rng..., SparseMatrixCSC, .5, (10, 3)) isa SparseMatrixCSC{Float64}
153163

154164
@test rand(rng..., Int, .5, 10, 3) isa SparseMatrixCSC{Int}
155165
@test rand(rng..., Int, .5, (10, 3)) isa SparseMatrixCSC{Int}
166+
@test rand(rng..., Int, SparseMatrixCSC, .5, 10, 3) isa SparseMatrixCSC{Int}
167+
@test rand(rng..., Int, SparseMatrixCSC, .5, (10, 3)) isa SparseMatrixCSC{Int}
156168

157169
# BitArray
158170
for S = ([], [Bool], [Bernoulli()])

0 commit comments

Comments
 (0)