
AMDG
On 03/18/2012 11:11 AM, thijs@sitmo.com wrote:
I was wondering what the status is on implementing the discard() functionality in random engines?
linear_congruential_engine has an optimized discard. I think most of the rest are implemented as as simple for loop.
Good to hear that it's implemented. I went through the code and found it indeed (1.48 linear_congruential.hpp). There is however no mention I could find in the online manuals of 1.49 about "engines" concepts. Is it implemented but not ready as a full implementation of the C++11engine concept? is that reason that it's not publicly documented yet?
Eg for MT these is a constant time algorithm, is there work being done on that?
Really? Do you have a link? I'll get back on this, I've asked someone who has an implementation to help out.
Another thing I found in the sandbox is a Sobol and Fauré quasi-random sequence random engine. Is that planned for inclusion? Those too have constant time discard() algorithms.
I believe the implementation is solid, but I'd prefer to have them go through the review process before being included.
Good to hear! That makes sense. If I can help, then I can compare results with e.g. reference implementations I have, and feedback in general.
A fast discard() is something we need for parallel random number generation, it will allow us to have independent random streams via discarding.
Finally I've also used an trial PRF engine posted here, and I liked it a lot. What is the status of that random engine?
In Christ, Steven Watanabe
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost