Skip to content

Commit dc2425b

Browse files
committed
random: remove useless @inline
1 parent 4d2e1d7 commit dc2425b

File tree

3 files changed

+36
-32
lines changed

3 files changed

+36
-32
lines changed

base/random/RNGs.jl

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ srand(rng::RandomDevice) = rng
4949

5050
### generation of floats
5151

52-
@inline rand(r::RandomDevice, I::FloatInterval) = rand_generic(r, I)
52+
rand(r::RandomDevice, I::FloatInterval) = rand_generic(r, I)
5353

5454

5555
## MersenneTwister
@@ -130,21 +130,21 @@ hash(r::MersenneTwister, h::UInt) = foldr(hash, h, (r.seed, r.state, r.vals, r.i
130130

131131
### low level API
132132

133-
@inline mt_avail(r::MersenneTwister) = MTCacheLength - r.idx
134-
@inline mt_empty(r::MersenneTwister) = r.idx == MTCacheLength
135-
@inline mt_setfull!(r::MersenneTwister) = r.idx = 0
136-
@inline mt_setempty!(r::MersenneTwister) = r.idx = MTCacheLength
137-
@inline mt_pop!(r::MersenneTwister) = @inbounds return r.vals[r.idx+=1]
133+
mt_avail(r::MersenneTwister) = MTCacheLength - r.idx
134+
mt_empty(r::MersenneTwister) = r.idx == MTCacheLength
135+
mt_setfull!(r::MersenneTwister) = r.idx = 0
136+
mt_setempty!(r::MersenneTwister) = r.idx = MTCacheLength
137+
mt_pop!(r::MersenneTwister) = @inbounds return r.vals[r.idx+=1]
138138

139139
function gen_rand(r::MersenneTwister)
140140
dsfmt_fill_array_close1_open2!(r.state, pointer(r.vals), length(r.vals))
141141
mt_setfull!(r)
142142
end
143143

144-
@inline reserve_1(r::MersenneTwister) = (mt_empty(r) && gen_rand(r); nothing)
144+
reserve_1(r::MersenneTwister) = (mt_empty(r) && gen_rand(r); nothing)
145145
# `reserve` allows one to call `rand_inbounds` n times
146146
# precondition: n <= MTCacheLength
147-
@inline reserve(r::MersenneTwister, n::Int) = (mt_avail(r) < n && gen_rand(r); nothing)
147+
reserve(r::MersenneTwister, n::Int) = (mt_avail(r) < n && gen_rand(r); nothing)
148148

149149

150150
### seeding
@@ -205,21 +205,21 @@ const GLOBAL_RNG = MersenneTwister(0)
205205
#### helper functions
206206

207207
# precondition: !mt_empty(r)
208-
@inline rand_inbounds(r::MersenneTwister, ::Close1Open2_64) = mt_pop!(r)
209-
@inline rand_inbounds(r::MersenneTwister, ::CloseOpen_64) =
208+
rand_inbounds(r::MersenneTwister, ::Close1Open2_64) = mt_pop!(r)
209+
rand_inbounds(r::MersenneTwister, ::CloseOpen_64) =
210210
rand_inbounds(r, Close1Open2()) - 1.0
211-
@inline rand_inbounds(r::MersenneTwister) = rand_inbounds(r, CloseOpen())
211+
rand_inbounds(r::MersenneTwister) = rand_inbounds(r, CloseOpen())
212212

213-
@inline rand_ui52_raw_inbounds(r::MersenneTwister) =
213+
rand_ui52_raw_inbounds(r::MersenneTwister) =
214214
reinterpret(UInt64, rand_inbounds(r, Close1Open2()))
215-
@inline rand_ui52_raw(r::MersenneTwister) = (reserve_1(r); rand_ui52_raw_inbounds(r))
215+
rand_ui52_raw(r::MersenneTwister) = (reserve_1(r); rand_ui52_raw_inbounds(r))
216216

217-
@inline function rand_ui2x52_raw(r::MersenneTwister)
217+
function rand_ui2x52_raw(r::MersenneTwister)
218218
reserve(r, 2)
219219
rand_ui52_raw_inbounds(r) % UInt128 << 64 | rand_ui52_raw_inbounds(r)
220220
end
221221

222-
@inline function rand_ui104_raw(r::MersenneTwister)
222+
function rand_ui104_raw(r::MersenneTwister)
223223
reserve(r, 2)
224224
rand_ui52_raw_inbounds(r) % UInt128 << 52 rand_ui52_raw_inbounds(r)
225225
end
@@ -229,13 +229,13 @@ rand_ui23_raw(r::MersenneTwister) = rand_ui52_raw(r)
229229

230230
#### floats
231231

232-
@inline rand(r::MersenneTwister, I::FloatInterval_64) = (reserve_1(r); rand_inbounds(r, I))
232+
rand(r::MersenneTwister, I::FloatInterval_64) = (reserve_1(r); rand_inbounds(r, I))
233233

234-
@inline rand(r::MersenneTwister, I::FloatInterval) = rand_generic(r, I)
234+
rand(r::MersenneTwister, I::FloatInterval) = rand_generic(r, I)
235235

236236
#### integers
237237

238-
@inline rand(r::MersenneTwister,
238+
rand(r::MersenneTwister,
239239
::Type{T}) where {T<:Union{Bool,Int8,UInt8,Int16,UInt16,Int32,UInt32}} =
240240
rand_ui52_raw(r) % T
241241

@@ -317,10 +317,10 @@ function rand!(r::MersenneTwister, A::Array{Float64}, n::Int=length(A),
317317
A
318318
end
319319

320-
@inline mask128(u::UInt128, ::Type{Float16}) =
320+
mask128(u::UInt128, ::Type{Float16}) =
321321
(u & 0x03ff03ff03ff03ff03ff03ff03ff03ff) | 0x3c003c003c003c003c003c003c003c00
322322

323-
@inline mask128(u::UInt128, ::Type{Float32}) =
323+
mask128(u::UInt128, ::Type{Float32}) =
324324
(u & 0x007fffff007fffff007fffff007fffff) | 0x3f8000003f8000003f8000003f800000
325325

326326
function rand!(r::MersenneTwister, A::Union{Array{Float16},Array{Float32}},
@@ -408,7 +408,7 @@ end
408408

409409
#### from a range
410410

411-
@inline function rand_lteq(r::AbstractRNG, randfun, u::U, mask::U) where U<:Integer
411+
function rand_lteq(r::AbstractRNG, randfun, u::U, mask::U) where U<:Integer
412412
while true
413413
x = randfun(r) & mask
414414
x <= u && return x

base/random/generation.jl

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66

77
### GLOBAL_RNG fallback for all types
88

9-
@inline rand(T::Type) = rand(GLOBAL_RNG, T)
9+
rand(::Type{T}) where {T} = rand(GLOBAL_RNG, T)
1010

1111
### random floats
1212

1313
# CloseOpen(T) is the fallback for an AbstractFloat T
14-
@inline rand(r::AbstractRNG=GLOBAL_RNG, ::Type{T}=Float64) where {T<:AbstractFloat} =
14+
rand(r::AbstractRNG=GLOBAL_RNG, ::Type{T}=Float64) where {T<:AbstractFloat} =
1515
rand(r, CloseOpen(T))
1616

1717
# generic random generation function which can be used by RNG implementors
@@ -95,8 +95,8 @@ rand_generic(rng::AbstractRNG, I::FloatInterval{BigFloat}) =
9595
rand_ui10_raw(r::AbstractRNG) = rand(r, UInt16)
9696
rand_ui23_raw(r::AbstractRNG) = rand(r, UInt32)
9797

98-
@inline rand_ui52_raw(r::AbstractRNG) = reinterpret(UInt64, rand(r, Close1Open2()))
99-
@inline rand_ui52(r::AbstractRNG) = rand_ui52_raw(r) & 0x000fffffffffffff
98+
rand_ui52_raw(r::AbstractRNG) = reinterpret(UInt64, rand(r, Close1Open2()))
99+
rand_ui52(r::AbstractRNG) = rand_ui52_raw(r) & 0x000fffffffffffff
100100

101101
### random complex numbers
102102

@@ -131,10 +131,14 @@ rand( dims::Dims) = rand(GLOBAL_RNG, dims)
131131
rand(r::AbstractRNG, dims::Integer...) = rand(r, Dims(dims))
132132
rand( dims::Integer...) = rand(Dims(dims))
133133

134-
rand(r::AbstractRNG, T::Type, dims::Dims) = rand!(r, Array{T}(dims))
135-
rand( T::Type, dims::Dims) = rand(GLOBAL_RNG, T, dims)
136-
rand(r::AbstractRNG, T::Type, d::Integer, dims::Integer...) = rand(r, T, Dims((d, dims...)))
137-
rand( T::Type, d::Integer, dims::Integer...) = rand(T, Dims((d, dims...)))
134+
rand(r::AbstractRNG, ::Type{T}, dims::Dims) where {T} = rand!(r, Array{T}(dims))
135+
rand( ::Type{T}, dims::Dims) where {T} = rand(GLOBAL_RNG, T, dims)
136+
137+
rand(r::AbstractRNG, ::Type{T}, d::Integer, dims::Integer...) where {T} =
138+
rand(r, T, Dims((d, dims...)))
139+
140+
rand( ::Type{T}, d::Integer, dims::Integer...) where {T} =
141+
rand(T, Dims((d, dims...)))
138142
# note: the above methods would trigger an ambiguity warning if d was not separated out:
139143
# rand(r, ()) would match both this method and rand(r, dims::Dims)
140144
# moreover, a call like rand(r, NotImplementedType()) would be an infinite loop

base/random/normal.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ julia> randn(rng, Complex64, (2, 3))
4545
end
4646

4747
# this unlikely branch is put in a separate function for better efficiency
48-
function randn_unlikely(rng, idx, rabs, x)
48+
@noinline function randn_unlikely(rng, idx, rabs, x)
4949
@inbounds if idx == 0
5050
while true
5151
xx = -ziggurat_nor_inv_r*log(rand(rng))
@@ -93,7 +93,7 @@ julia> randexp(rng, 3, 3)
9393
0.695867 0.693292 0.643644
9494
```
9595
"""
96-
@inline function randexp(rng::AbstractRNG=GLOBAL_RNG)
96+
function randexp(rng::AbstractRNG=GLOBAL_RNG)
9797
@inbounds begin
9898
ri = rand_ui52(rng)
9999
idx = ri & 0xFF
@@ -103,7 +103,7 @@ julia> randexp(rng, 3, 3)
103103
end
104104
end
105105

106-
function randexp_unlikely(rng, idx, x)
106+
@noinline function randexp_unlikely(rng, idx, x)
107107
@inbounds if idx == 0
108108
return ziggurat_exp_r - log(rand(rng))
109109
elseif (fe[idx] - fe[idx+1])*rand(rng) + fe[idx+1] < exp(-x)

0 commit comments

Comments
 (0)