Skip to content

Commit b7e8995

Browse files
committed
use Base.iterate
1 parent df9fae0 commit b7e8995

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/Sobol.jl

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,13 @@ end
103103
# Technically, the Sobol sequence ends after 2^32-1 points, but it
104104
# falls back on pseudorandom numbers after this. In practice, one is
105105
# unlikely to reach that point.
106-
Base.start(s::AbstractSobolSeq) = nothing
107-
Base.next(s::AbstractSobolSeq, state) = (next!(s), state)
108-
Base.done(s::AbstractSobolSeq, state) = false
106+
@static if isdefined(Base, :iterate)
107+
Base.iterate(s::AbstractSobolSeq, state=nothing) = (next!(s), state)
108+
else
109+
Base.start(s::AbstractSobolSeq) = nothing
110+
Base.next(s::AbstractSobolSeq, state) = (next!(s), state)
111+
Base.done(s::AbstractSobolSeq, state) = false
112+
end
109113
Base.eltype(::Type{<:AbstractSobolSeq}) = Vector{Float64}
110114
Compat.IteratorSize(::Type{<:AbstractSobolSeq}) = Base.IsInfinite()
111115
Compat.IteratorEltype(::Type{<:AbstractSobolSeq}) = Base.HasEltype()

0 commit comments

Comments
 (0)