Коль уж про статистику начал.

Sep 26, 2020 13:17


let word64 = fromIntegral randomWord32
randomModulo = shiftR (modulo * word64) 32

Работает лучше, чем обычное взятие по модулю с генераторами типа созданных Марсальи (два умножения, результаты которых перемешиваются сложением и сдвигом). Как я понимаю, потому, что старшие биты лучше меняются, а при взятии по модулю они не всегда бывают задействованы в нужной мере (modulo = 2N, например, или близкие к ним).

статистика

Previous post Next post
Up