Skip to content

Commit 967110b

Browse files
committed
enable rand(Tuple, n::Integer)::NTuple{n,Float64}
1 parent 7a61554 commit 967110b

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

src/sampling.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,15 @@ end
182182

183183
make(T::Type{<:Tuple}, args...) = _make(T, args...)
184184

185+
# make(Tuple, X, n::Integer)
186+
187+
default_sampling(::Type{Tuple}) = Float64
188+
185189
make(::Type{Tuple}, X, n::Integer) = make(NTuple{Int(n)}, X)
186190
make(::Type{Tuple}, ::Type{X}, n::Integer) where {X} = make(NTuple{Int(n)}, X)
187191

192+
make(::Type{Tuple}, n::Integer) = make(Tuple, default_sampling(Tuple), Int(n))
193+
188194
# disambiguate
189195

190196
make(::Type{T}, X) where {T<:Tuple} = _make(T, X)

test/runtests.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,8 @@ const spString = Sampler(MersenneTwister, String)
186186
s = rand(rng..., 1:3, Tuple, 4)
187187
@test s isa NTuple{4,Int}
188188
@test all(in(1:3), s)
189+
s = rand(rng..., Tuple, 4)
190+
@test s isa NTuple{4,Float64}
189191
end
190192

191193
@testset "Rand" for rng in ([], [MersenneTwister(0)], [RandomDevice()])
@@ -283,6 +285,8 @@ end
283285
@test all(in(1:3), s)
284286
s = rand(make(Tuple, Int8, 4))
285287
@test s isa NTuple{4,Int8}
288+
s = rand(make(Tuple, 4))
289+
@test s isa NTuple{4,Float64}
286290
end
287291

288292
@testset "rand(make(NTuple{N}/Tuple{...}, x))" begin

0 commit comments

Comments
 (0)