aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src/io.erl
diff options
context:
space:
mode:
authorRaimo Niskanen <[email protected]>2017-03-21 16:36:33 +0100
committerRaimo Niskanen <[email protected]>2017-04-21 11:21:09 +0200
commit437555fd6c495915773b0f9ade7aad3fd0a73a1b (patch)
tree5be81ac9dc7d71235fed32f198ea3f702655cbb0 /lib/stdlib/src/io.erl
parent39c12050644c27883d679f11bb83142e6c1824ad (diff)
downloadotp-437555fd6c495915773b0f9ade7aad3fd0a73a1b.tar.gz
otp-437555fd6c495915773b0f9ade7aad3fd0a73a1b.tar.bz2
otp-437555fd6c495915773b0f9ade7aad3fd0a73a1b.zip
Implement Xoroshiro116+ and improve statisticals
Implement Xoroshiro116+ as 'exrop' with fixes. Deprecate all old algorithms but reincarnate 'exs1024' as 'exs1024s' and 'exsplus' as 'exsp' with fixes. Fixes: * Avoid skew for uniform integers caused by using a simple 'rem' operation for range confinement. Correctness requires retry with new random value for an unfortunate first value. * Implement a correct algorithm that collects enough random bits for ranges larger than the generator's precision. * Fix uniform density for floats by acquiring 53 bits then multiplying with 2.0^(-53) which produces floats on the form N * 2.0^(-53).
Diffstat (limited to 'lib/stdlib/src/io.erl')
0 files changed, 0 insertions, 0 deletions