[random] Contributing Well equidistributed long-period linear (WELL) implementation
Some time ago, I implemented the WELL family of PRNGs introduced in: Francois Panneton, Pierre L'Ecuyer and Makoto Matsumoto. "Improved Long-Period Generators Based on Linear Recurrences Modulo 2". ACM Transactions on Mathematical Software, 32 (1, March) 2006, pp. 1-16. WELL is supposed to provide better equidistribution and bit-mixing properties for equivalent period lengths compared to Mersenne twister. The WELL family of generators provide period lengths ranging from 2^512-1 to 2^44497-1. The implementation can be found at https://bitbucket.org/sergiu/random/src/tip/well.hpp?at=default. The code has to be boostified, which I'm willing to do if there's any interest.
AMDG On 08/04/2014 11:32 AM, Sergiu Dotenco wrote:
Some time ago, I implemented the WELL family of PRNGs introduced in:
Francois Panneton, Pierre L'Ecuyer and Makoto Matsumoto. "Improved Long-Period Generators Based on Linear Recurrences Modulo 2". ACM Transactions on Mathematical Software, 32 (1, March) 2006, pp. 1-16.
WELL is supposed to provide better equidistribution and bit-mixing properties for equivalent period lengths compared to Mersenne twister. The WELL family of generators provide period lengths ranging from 2^512-1 to 2^44497-1.
The implementation can be found at https://bitbucket.org/sergiu/random/src/tip/well.hpp?at=default. The code has to be boostified, which I'm willing to do if there's any interest.
That sounds great. This has been on my todo list for a while. In Christ, Steven Watanabe
On 8/4/2014 7:46 PM, Steven Watanabe wrote:
AMDG
On 08/04/2014 11:32 AM, Sergiu Dotenco wrote:
Some time ago, I implemented the WELL family of PRNGs introduced in:
Francois Panneton, Pierre L'Ecuyer and Makoto Matsumoto. "Improved Long-Period Generators Based on Linear Recurrences Modulo 2". ACM Transactions on Mathematical Software, 32 (1, March) 2006, pp. 1-16.
WELL is supposed to provide better equidistribution and bit-mixing properties for equivalent period lengths compared to Mersenne twister. The WELL family of generators provide period lengths ranging from 2^512-1 to 2^44497-1.
The implementation can be found at https://bitbucket.org/sergiu/random/src/tip/well.hpp?at=default. The code has to be boostified, which I'm willing to do if there's any interest.
That sounds great. This has been on my todo list for a while.
In Christ, Steven Watanabe
Steven, Glad to hear that. How should I best proceed then? Regards, Sergiu
AMDG On 08/04/2014 12:14 PM, Sergiu Dotenco wrote:
Glad to hear that. How should I best proceed then?
What I need is: a) The code needs to match the existing Boost.Random code. In particular, the seeding/constructor interface needs to be updated. You also need to add a generate function. b) The test suite needs to be updated. You can copy the existing test cases. c) Doxygen comments + entries in the quickbook docs. In Christ, Steven Watanabe
On 8/4/2014 8:30 PM, Steven Watanabe wrote:
AMDG
On 08/04/2014 12:14 PM, Sergiu Dotenco wrote:
Glad to hear that. How should I best proceed then?
What I need is: a) The code needs to match the existing Boost.Random code. In particular, the seeding/constructor interface needs to be updated. You also need to add a generate function. b) The test suite needs to be updated. You can copy the existing test cases. c) Doxygen comments + entries in the quickbook docs.
Thanks. Will work on that. Regards, Sergiu
participants (2)
-
Sergiu Dotenco
-
Steven Watanabe