We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
_randn
1 parent 6498e65 commit c636dfdCopy full SHA for c636dfd
src/utilities.jl
@@ -2,9 +2,17 @@ const AbstractScalarOrVec{T} = Union{T,AbstractVector{T}} where {T<:AbstractFloa
2
3
# Support of passing a vector of RNGs
4
5
+function _randn(rng::AbstractRNG, ::Type{T}, n_chains::Int) where {T}
6
+ return randn(rng, T, n_chains)
7
+end
8
function _randn(rng::AbstractRNG, ::Type{T}, dim::Int, n_chains::Int) where {T}
9
return randn(rng, T, dim, n_chains)
10
end
11
+
12
+function _randn(rngs::AbstractVector{<:AbstractRNG}, ::Type{T}, n_chains::Int) where {T}
13
+ @argcheck length(rngs) == n_chains
14
+ return map(Base.Fix2(randn, T), rngs)
15
16
function _randn(
17
rngs::AbstractVector{<:AbstractRNG},
18
::Type{T},
@@ -13,9 +21,7 @@ function _randn(
21
) where {T}
22
@argcheck length(rngs) == n_chains
23
out = similar(rngs, T, dim, n_chains)
- for (x, rng) in zip(eachcol(out), rngs)
- randn!(rng, x)
- end
24
+ map!(randn!, eachcol(out), rngs)
19
25
return out
20
26
27
0 commit comments