Skip to content

Instantly share code, notes, and snippets.

@flyingmutant
Last active August 1, 2022 22:32
Show Gist options
  • Save flyingmutant/ad5841f5e594aa8687fe47de34985e6a to your computer and use it in GitHub Desktop.
Save flyingmutant/ad5841f5e594aa8687fe47de34985e6a to your computer and use it in GitHub Desktop.
Testing Go's math/rand with PractRand (using https://github.com/flyingmutant/rand/tree/master/misc/practrand)
> ./practrand -gen=std -transform=exp | PractRand stdin64 -multithreaded
RNG_test using PractRand version 0.95
RNG = RNG_stdin64, seed = unknown
test set = core, folding = standard (64 bit)
rng=RNG_stdin64, seed=unknown
length= 256 megabytes (2^28 bytes), time= 3.0 seconds
no anomalies in 213 test result(s)
rng=RNG_stdin64, seed=unknown
length= 512 megabytes (2^29 bytes), time= 7.1 seconds
no anomalies in 229 test result(s)
rng=RNG_stdin64, seed=unknown
length= 1 gigabyte (2^30 bytes), time= 13.6 seconds
Test Name Raw Processed Evaluation
FPF-14+6/16:all R= +5.2 p = 2.1e-4 unusual
...and 245 test result(s) without anomalies
rng=RNG_stdin64, seed=unknown
length= 2 gigabytes (2^31 bytes), time= 25.4 seconds
Test Name Raw Processed Evaluation
FPF-14+6/16:(0,14-0) R= +7.8 p = 7.8e-7 mildly suspicious
FPF-14+6/16:all R= +13.9 p = 1.6e-12 FAIL
[Low16/64]FPF-14+6/16:(0,14-0) R= +7.1 p = 3.6e-6 unusual
[Low16/64]FPF-14+6/16:all R= +8.6 p = 1.3e-7 very suspicious
...and 259 test result(s) without anomalies
> ./practrand -gen=std -transform=norm | PractRand stdin64 -multithreaded
RNG_test using PractRand version 0.95
RNG = RNG_stdin64, seed = unknown
test set = core, folding = standard (64 bit)
rng=RNG_stdin64, seed=unknown
length= 256 megabytes (2^28 bytes), time= 3.2 seconds
no anomalies in 213 test result(s)
rng=RNG_stdin64, seed=unknown
length= 512 megabytes (2^29 bytes), time= 7.3 seconds
no anomalies in 229 test result(s)
rng=RNG_stdin64, seed=unknown
length= 1 gigabyte (2^30 bytes), time= 14.6 seconds
Test Name Raw Processed Evaluation
[Low16/64]FPF-14+6/16:all R= +5.4 p = 1.3e-4 unusual
...and 245 test result(s) without anomalies
rng=RNG_stdin64, seed=unknown
length= 2 gigabytes (2^31 bytes), time= 26.9 seconds
Test Name Raw Processed Evaluation
FPF-14+6/16:(0,14-0) R= +7.4 p = 1.7e-6 unusual
FPF-14+6/16:all R= +13.7 p = 2.5e-12 FAIL
[Low16/64]FPF-14+6/16:(0,14-0) R= +8.5 p = 1.6e-7 mildly suspicious
[Low16/64]FPF-14+6/16:(1,14-0) R= +8.6 p = 1.4e-7 mildly suspicious
[Low16/64]FPF-14+6/16:all R= +10.0 p = 6.8e-9 very suspicious
...and 258 test result(s) without anomalies
> ./practrand -gen=std | PractRand stdin64 -multithreaded
RNG_test using PractRand version 0.95
RNG = RNG_stdin64, seed = unknown
test set = core, folding = standard (64 bit)
rng=RNG_stdin64, seed=unknown
length= 512 megabytes (2^29 bytes), time= 2.3 seconds
Test Name Raw Processed Evaluation
[Low4/64]BCFN(2+4,13-5,T) R= +13.2 p = 2.2e-5 unusual
[Low1/64]BCFN(2+2,13-6,T) R= +90.6 p = 1.8e-31 FAIL !!!
[Low1/64]BCFN(2+3,13-6,T) R= +70.9 p = 1.0e-24 FAIL !!
[Low1/64]BCFN(2+4,13-6,T) R= +34.1 p = 3.9e-12 FAIL
[Low1/64]BCFN(2+5,13-7,T) R= +16.5 p = 1.3e-5 unusual
...and 224 test result(s) without anomalies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment