QuantEcon/QuantEcon.jl

Use `StableRNGs` in tests

Open

#275 geöffnet am 5. Juli 2022

Auf GitHub ansehen
 (0 Kommentare) (1 Reaktion) (0 zugewiesene Personen)Julia (300 Forks)batch import
enhancementhelp wantedtest

Repository-Metriken

Stars
 (495 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 1T 1h) (2 gemergte PRs in 30 T)

Beschreibung

@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