http://burtleburtle.net/bob/rand/smallprng.html
Это мало (128 бит состояния) и быстро и проходит все статистические тесты общего назначения, доступные в настоящее время.Любой другой PRNG, связанный с приведенными здесь ответами, быстро проходит тесты - PRNG на основе MWC не проходит много тестов, в то время как SFMT - только тесты типа бинарная матрица ранга / линейной сложности.
Как уже говорили другие, для получения 128 бит просто объедините последовательные 32-битные выходы.Не пытайтесь принудительно извлекать больше битов из состояния PRNG, которое дает его обычная функция вывода, что, как правило, ухудшает качество вывода, иногда в значительной степени.