Skip to content

Commit

Permalink
Make randobs interface similar to rand
Browse files Browse the repository at this point in the history
  • Loading branch information
EssamWisam committed Jul 13, 2023
1 parent 47bdfaf commit abb846c
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
8 changes: 6 additions & 2 deletions src/randobs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ from `data`.
For this function to work, the type of `data` must implement
[`numobs`](@ref) and [`getobs`](@ref).
"""
randobs(data; rng=Random.default_rng()) = getobs(data, rand(rng, 1:numobs(data)))
randobs(rng::AbstractRNG, data) = getobs(data, rand(rng, 1:numobs(data)))

randobs(data, n; rng=Random.default_rng()) = getobs(data, rand(rng, 1:numobs(data), n))
randobs(rng::AbstractRNG, data, n) = getobs(data, rand(rng, 1:numobs(data), n))

randobs(data) = getobs(data, rand(1:numobs(data)))

randobs(data, n) = getobs(data, rand(1:numobs(data), n))
12 changes: 6 additions & 6 deletions test/randobs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ x = randobs(X[:,1:4])
@test size(x) == (4,)
@test any(X[:,i] == x for i in 1:4)

x1 = randobs(X[:,1:4], rng=Random.MersenneTwister(1234))
x2 = randobs(X[:,1:4], rng=Random.MersenneTwister(1234))
x3 = randobs(X[:,1:4], rng=Random.MersenneTwister(1235))
x1 = randobs(Random.MersenneTwister(1234), X[:,1:4])
x2 = randobs(Random.MersenneTwister(1234), X[:,1:4])
x3 = randobs(Random.MersenneTwister(1235), X[:,1:4])
@test size(x) == (4,)
@test x1 == x2
@test x1 != x3
Expand All @@ -16,9 +16,9 @@ x = randobs(X[:,1:4], 2)
@test any(X[:,i] == x[:,2] for i in 1:4)


x1 = randobs(X[:,1:4], 2, rng=Random.MersenneTwister(1234))
x2 = randobs(X[:,1:4], 2, rng=Random.MersenneTwister(1234))
x3 = randobs(X[:,1:4], 2, rng=Random.MersenneTwister(1235))
x1 = randobs(Random.MersenneTwister(1234), X[:,1:4], 2)
x2 = randobs(Random.MersenneTwister(1234), X[:,1:4], 2)
x3 = randobs(Random.MersenneTwister(1235), X[:,1:4], 2)
@test size(x) == (4, 2)
@test x1 == x2
@test x1 != x3
Expand Down

0 comments on commit abb846c

Please sign in to comment.