diff options
author | Raimo Niskanen <[email protected]> | 2017-03-21 16:36:33 +0100 |
---|---|---|
committer | Raimo Niskanen <[email protected]> | 2017-04-21 11:21:09 +0200 |
commit | 437555fd6c495915773b0f9ade7aad3fd0a73a1b (patch) | |
tree | 5be81ac9dc7d71235fed32f198ea3f702655cbb0 /lib/compiler | |
parent | 39c12050644c27883d679f11bb83142e6c1824ad (diff) | |
download | otp-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/compiler')
0 files changed, 0 insertions, 0 deletions