(Pseudo) Random Number Generators (PRNG) are exceedingly important
in ALL computing scenarios.
How valid is your PRNG?
We can discuss endlessly the concept of a true random sequence
(and the math ain't easy) but in today's technical world only
the practical is important.
To test your PRNG just use the "diehard" suite:
https://webhome.phy.duke.edu/~rgb/General/dieharder.phpAmong other things, these tests examine clustering in
dimensions as high as 55. Whew~
These tests are considered definitive throughout the world.
But I am so terribly, terribly sorry, the "dieharder" suite
is available for GNU/Linux only.
Microslop Winblows users couldn't distinguish a rat's ass
from a true random number.
Haaaaaaa, ha, ha, ha, ha, ha, ha, ha!
Anyway, here is the result of Dieharder on my Intel
"rdrand" instruction:
[Random]# rdrand-gen | dieharder -g 200 -a
#=============================================================================#
# dieharder version 3.31.1 Copyright 2003 Robert G. Brown #
#=============================================================================#
rng_name |rands/second| Seed |
stdin_input_raw| 3.98e+07 |2966055847|
#=============================================================================#
test_name |ntup| tsamples |psamples| p-value |Assessment
#=============================================================================#
diehard_birthdays| 0| 100| 100|0.06543207| PASSED
diehard_operm5| 0| 1000000| 100|0.21260771| PASSED
diehard_rank_32x32| 0| 40000| 100|0.09354959| PASSED
diehard_rank_6x8| 0| 100000| 100|0.64365574| PASSED
diehard_bitstream| 0| 2097152| 100|0.24730007| PASSED
diehard_opso| 0| 2097152| 100|0.33369360| PASSED
diehard_oqso| 0| 2097152| 100|0.94866090| PASSED
diehard_dna| 0| 2097152| 100|0.13555753| PASSED
diehard_count_1s_str| 0| 256000| 100|0.82687564| PASSED
diehard_count_1s_byt| 0| 256000| 100|0.93790339| PASSED
diehard_parking_lot| 0| 12000| 100|0.48712953| PASSED
diehard_2dsphere| 2| 8000| 100|0.89758888| PASSED
diehard_3dsphere| 3| 4000| 100|0.71401508| PASSED
diehard_squeeze| 0| 100000| 100|0.82295870| PASSED
diehard_sums| 0| 100| 100|0.92144902| PASSED
diehard_runs| 0| 100000| 100|0.61388018| PASSED
diehard_runs| 0| 100000| 100|0.32212703| PASSED
diehard_craps| 0| 200000| 100|0.86460706| PASSED
diehard_craps| 0| 200000| 100|0.51042913| PASSED
marsaglia_tsang_gcd| 0| 10000000| 100|0.03066137| PASSED
marsaglia_tsang_gcd| 0| 10000000| 100|0.83817842| PASSED
sts_monobit| 1| 100000| 100|0.75148206| PASSED
sts_runs| 2| 100000| 100|0.35054612| PASSED
sts_serial| 1| 100000| 100|0.77825332| PASSED
sts_serial| 2| 100000| 100|0.97437660| PASSED
sts_serial| 3| 100000| 100|0.30179524| PASSED
sts_serial| 3| 100000| 100|0.86193393| PASSED
sts_serial| 4| 100000| 100|0.58390853| PASSED
sts_serial| 5| 100000| 100|0.48388602| PASSED
sts_serial| 5| 100000| 100|0.57983056| PASSED
sts_serial| 6| 100000| 100|0.90456422| PASSED
sts_serial| 6| 100000| 100|0.16798238| PASSED
sts_serial| 7| 100000| 100|0.23550385| PASSED
sts_serial| 7| 100000| 100|0.03267475| PASSED
sts_serial| 8| 100000| 100|0.85582552| PASSED
sts_serial| 8| 100000| 100|0.45817214| PASSED
sts_serial| 9| 100000| 100|0.38165970| PASSED
sts_serial| 9| 100000| 100|0.52670513| PASSED
sts_serial| 10| 100000| 100|0.10432461| PASSED
sts_serial| 10| 100000| 100|0.26245716| PASSED
sts_serial| 11| 100000| 100|0.18289997| PASSED
sts_serial| 11| 100000| 100|0.04038603| PASSED
sts_serial| 12| 100000| 100|0.27364588| PASSED
sts_serial| 12| 100000| 100|0.78201533| PASSED
sts_serial| 13| 100000| 100|0.47343109| PASSED
sts_serial| 13| 100000| 100|0.15000316| PASSED
sts_serial| 14| 100000| 100|0.34083410| PASSED
sts_serial| 14| 100000| 100|0.65414911| PASSED
sts_serial| 15| 100000| 100|0.34700439| PASSED
sts_serial| 15| 100000| 100|0.39252322| PASSED
sts_serial| 16| 100000| 100|0.84715942| PASSED
sts_serial| 16| 100000| 100|0.62603672| PASSED
rgb_bitdist| 1| 100000| 100|0.97719831| PASSED
rgb_bitdist| 2| 100000| 100|0.43552728| PASSED
rgb_bitdist| 3| 100000| 100|0.47568975| PASSED
rgb_bitdist| 4| 100000| 100|0.47613931| PASSED
rgb_bitdist| 5| 100000| 100|0.56171508| PASSED
rgb_bitdist| 6| 100000| 100|0.35859216| PASSED
rgb_bitdist| 7| 100000| 100|0.72459926| PASSED
rgb_bitdist| 8| 100000| 100|0.33549057| PASSED
rgb_bitdist| 9| 100000| 100|0.05322092| PASSED
rgb_bitdist| 10| 100000| 100|0.28628719| PASSED
rgb_bitdist| 11| 100000| 100|0.52505178| PASSED
rgb_bitdist| 12| 100000| 100|0.26900560| PASSED
rgb_minimum_distance| 2| 10000| 1000|0.34214578| PASSED
rgb_minimum_distance| 3| 10000| 1000|0.61050826| PASSED
rgb_minimum_distance| 4| 10000| 1000|0.57531845| PASSED
rgb_minimum_distance| 5| 10000| 1000|0.46852286| PASSED
rgb_permutations| 3| 100000| 100|0.62399533| PASSED
rgb_permutations| 4| 100000| 100|0.10199144| PASSED
rgb_permutations| 5| 100000| 100|0.88653935| PASSED
rgb_lagged_sum| 0| 1000000| 100|0.25581051| PASSED
rgb_lagged_sum| 1| 1000000| 100|0.93878998| PASSED
rgb_lagged_sum| 2| 1000000| 100|0.91291794| PASSED
rgb_lagged_sum| 3| 1000000| 100|0.95036822| PASSED
rgb_lagged_sum| 4| 1000000| 100|0.14688926| PASSED
rgb_lagged_sum| 5| 1000000| 100|0.98439421| PASSED
rgb_lagged_sum| 6| 1000000| 100|0.30260560| PASSED
rgb_lagged_sum| 7| 1000000| 100|0.21580826| PASSED
rgb_lagged_sum| 8| 1000000| 100|0.50359162| PASSED
rgb_lagged_sum| 9| 1000000| 100|0.53878247| PASSED
rgb_lagged_sum| 10| 1000000| 100|0.45132897| PASSED
rgb_lagged_sum| 11| 1000000| 100|0.72423983| PASSED
rgb_lagged_sum| 12| 1000000| 100|0.64399891| PASSED
rgb_lagged_sum| 13| 1000000| 100|0.26611978| PASSED
rgb_lagged_sum| 14| 1000000| 100|0.61894945| PASSED
rgb_lagged_sum| 15| 1000000| 100|0.79042077| PASSED
rgb_lagged_sum| 16| 1000000| 100|0.38034141| PASSED
rgb_lagged_sum| 17| 1000000| 100|0.84064672| PASSED
rgb_lagged_sum| 18| 1000000| 100|0.52727379| PASSED
rgb_lagged_sum| 19| 1000000| 100|0.32990885| PASSED
rgb_lagged_sum| 20| 1000000| 100|0.85270315| PASSED
rgb_lagged_sum| 21| 1000000| 100|0.30154480| PASSED
rgb_lagged_sum| 22| 1000000| 100|0.32021848| PASSED
rgb_lagged_sum| 23| 1000000| 100|0.86852963| PASSED
rgb_lagged_sum| 24| 1000000| 100|0.81857235| PASSED
rgb_lagged_sum| 25| 1000000| 100|0.62494255| PASSED
rgb_lagged_sum| 26| 1000000| 100|0.60562922| PASSED
rgb_lagged_sum| 27| 1000000| 100|0.90017271| PASSED
rgb_lagged_sum| 28| 1000000| 100|0.63637700| PASSED
rgb_lagged_sum| 29| 1000000| 100|0.68813283| PASSED
rgb_lagged_sum| 30| 1000000| 100|0.30337758| PASSED
rgb_lagged_sum| 31| 1000000| 100|0.65562852| PASSED
rgb_lagged_sum| 32| 1000000| 100|0.09833925| PASSED
rgb_kstest_test| 0| 10000| 1000|0.93200972| PASSED
dab_bytedistrib| 0| 51200000| 1|0.55513036| PASSED
dab_dct| 256| 50000| 1|0.93670054| PASSED
Preparing to run test 207. ntuple = 0
dab_filltree| 32| 15000000| 1|0.96749115| PASSED
dab_filltree| 32| 15000000| 1|0.99055949| PASSED
Preparing to run test 208. ntuple = 0
dab_filltree2| 0| 5000000| 1|0.74561940| PASSED
dab_filltree2| 1| 5000000| 1|0.47906494| PASSED
Preparing to run test 209. ntuple = 0
dab_monobit2| 12| 65000000| 1|0.51837531| PASSED
Everything has passed the stringent tests.
Note the "p-value," but distro lackeys could not distinguish a
p-value from their own diminutive penis.
Haaaa, ha, ha, ha, ha, ha, ha, ha, ha, ha!
Please, post your own test results.
But distro lackeys cannot do anything unless they get permission
from the "mother ship."
Haaaa, ha, ha, ha, ha, ha, ha, ha, ha, ha!
-- Systemd: solving all the problems that you never knew you had.