QuantEcon/QuantEcon.jl

Use `StableRNGs` in tests

Open

#275 opened on Jul 5, 2022

View on GitHub
 (0 comments) (1 reaction) (0 assignees)Julia (495 stars) (300 forks)batch import
enhancementhelp wantedtest

Description

@oyamad asked me to expand my comment in #274 into an issue. Here it is.

A lot of tests currently depend on outcomes of simulations. In order to get reproducible results, the tests set seeds. However the random number streams are not guaranteed to be the same across Julia versions. This led to the problem visible in #274: a test suddenly broke on Julia 1.7 and above.

In order to avoid this one can use the package https://github.com/JuliaRandom/StableRNGs.jl, which guarantees reproducible streams of random numbers across Julia versions.

I am afraid that this would require rewriting some of the functionality of this package to accept an RNG as in

rng = StableRNG(seed::Integer) # random number generator object
rand(rng, X)

Contributor guide