www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - mir-random: major additions

reply Ilya Yaroshenko <ilyayaroshenko gmail.com> writes:
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.5
--------------
Mir-Random got three major additions:

- System level `genRandomNonBlocking` and `genRandomBlocking` was 
added to `mir.random.engine` by Sebastian Wilzbach ( wilzbach). 
`unpredictableSeed` became more secure.

- Permuted Congruential Generator (PCG) [3] was added by Nicholas 
Wilson ( thewilsonator)  After a while it will replace Mersenne 
Twister for default engine (`Random` alias).

- `SphereVariable`, `SimplexVariable`, `DirichletVariable`, and 
`MultivariateNormalVariable` was added to `mir.random.ndvariable` 
by  Simon B├╝rger ( krox). Multivariate normal RNG uses private 
Cholesky decomposition, which has not unittests yet. PRs are 
welcome.

Links
--------------
[1] https://github.com/libmir/mir-random
[2] http://en.cppreference.com/w/cpp/numeric/random
[3] http://www.pcg-random.org/

Best regards,
Ilya
Sep 26
parent reply jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 27 September 2017 at 05:24:50 UTC, Ilya Yaroshenko 
wrote:
 private Cholesky decomposition, which has not unittests yet. 
 PRs are welcome.
My fork of lubeck has a branch where I was doing some work on adding cholesky that has some unittests if you want to borrow them (probably needs some adjustments). https://github.com/jmh530/lubeck/blob/f012582871c0cde8d7dc18d7f833f513a06cfaca/source/lubeck.d#L1377
Sep 27
parent reply Ilya Yaroshenko <ilyayaroshenko gmail.com> writes:
On Wednesday, 27 September 2017 at 11:52:32 UTC, jmh530 wrote:
 On Wednesday, 27 September 2017 at 05:24:50 UTC, Ilya 
 Yaroshenko wrote:
 private Cholesky decomposition, which has not unittests yet. 
 PRs are welcome.
My fork of lubeck has a branch where I was doing some work on adding cholesky that has some unittests if you want to borrow them (probably needs some adjustments). https://github.com/jmh530/lubeck/blob/f012582871c0cde8d7dc18d7f833f513a06cfaca/source/lubeck.d#L1377
Thanks! And looking forward to find you PR in Lubeck! --Ilya
Sep 27
parent jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 27 September 2017 at 12:21:24 UTC, Ilya Yaroshenko 
wrote:
 Thanks! And looking forward to find you PR in Lubeck! --Ilya
It's what prompted eachLower/eachUpper. I was like, there's gotta be a pretty way of doing this and got completely distracted from cholesky!
Sep 27