Mir Random v0.2.8 release

Nathan S. no.public.email at example.com
Tue Oct 24 03:30:19 UTC 2017


About package
--------------
>Mir-Random [1] is a random number generator library that covers 
>C++ STL [2]. It is compatible with mir.ndslice, std.algorithm, 
>and std.range. In the same time mir.random has its own API, 
>which is more secure and safe compared with std.random.

Release v0.2.8
--------------
Additions:
- Added xorshift1024*φ and xoroshiro128+ generators [3] 
(mir.random.engine.xorshift : Xorshift1024StarPhi, 
Xoroshiro128Plus)
- Mt19937 and Mt19937_64 can be seeded from array or ndslice
- mir.random.engine.preferHighBits!T to query new optional enum 
bool preferHighBits

Improvements:
- When the high bits of a PRNG's output are known to have better 
statistical properties than the low bits, use high bits when not 
all bits of output are required.
- On macOS, OpenBSD, and NetBSD, use arc4random_buf [4] in 
unpredictableSeed and genRandomNonBlocking.

Bugfixes:
- Fix isSaturatedRandomEngine!T not working when T.opCall is a 
function template.
- Fix address-based increment for PCGs in unique_stream mode.
- Incorporated upstream fix for seeding a MCG with a seed that's 
a multiple of the modulus.

Links
--------------
[1] https://github.com/libmir/mir-random
[2] http://en.cppreference.com/w/cpp/numeric/random
[3] http://xoroshiro.di.unimi.it/
[4] https://man.openbsd.org/arc4random.3


More information about the Digitalmars-d-announce mailing list