|
Long period does not imply good quality: http://xoroshiro.di.unimi.it/, see section Remarks More state bits does not imply good quality: Table just above Remarks: SplitMix64 had only 64 state bits, but it produce better random numbers than Mersenne Twister. Shuffling does not imply good quality: (quoted from Knuth AoCP): Shuffling methods have an in inherit defect, however, they change only the orders of the generated numbers, not the numbers themselves. IIRC, your pseudocode build random double by jamming 2 rand() bits. If the random numbers is not very good, shuffling does not help much. http://www.pcg-random.org/pdf/hmc-cs-2014-0905.pdf, page 10 KnuthB [20, 3], one of the algorithms mandated by the C++11 standard library, taken from the previous edition of Knuth’s Art of Computer Programming (but removed from the current edition [21]) is particularly disappointing; we had already seen that it is slow, and it fails many statistical tests, but now we see that it is also huge. |