Code for testing of Julia's random numbers
Clone or download
andreasnoack Merge pull request #14 from andreasnoack/anj/07
Bump Julia requirement to 0.7
Latest commit 8d961bd Jun 29, 2018
Failed to load latest commit information.
test Fix remaining deprecations Jun 29, 2018
.travis.yml Update badges and add AppVeyor badge Jun 19, 2018

The Crush test suite of l'Ecuyer for Julia

RNGTest Build Status Build status

The package is a Julia interface to the test suite TestU01 of Pierre l'Ecuyer. All the tests included in the SmallCrush and BigCrush test batteries can be called as Julia functions. The first argument to the test function must be either

  • a function without arguments, which must return a Float64 between zero and one, or

  • a wrapped AbstractRNG obtained via the function wrap(rng, T) where T is the type of the variates produced by rng that one wants tested (currently T must be one of the standard finite-precision Julia Integer or FloatingPoint types).

The output from the test is a p-value. The package also includes the Small- and the BigCrush batteries. Some examples:

julia> using RNGTest
julia> RNGTest.smallcrushJulia(rand)
julia> using Distribtions
julia> gf() = cdf(Gamma(), rand(Gamma()));
julia> RNGTest.bigcrushJulia(gf)
julia> rng = RNGTest.wrap(MersenneTwister(), UInt32)
julia> RNGTest.bigcrushTestU01(rng)

Note that the BigCrush test battery takes about twelve hours on a normal computer.

Homepage of the test suite