
AMDG On 01/26/2012 09:29 AM, thijs@sitmo.com wrote:
Our work is definitely complementary to TRNG. We go beyond TRNG by arguing that if you use pseudo-random functions (which we call counter-based PRNGs in the paper), in lieu of conventional PRNGs, then things like 'skip' and 'jump' and 'jump2' become moot. You simply don't need them. On the other hand, if you have pseudo-random functions, then it's easy to implement skip() and jump() and jump2() for the benefit of applications that are already coded to a TRNG-like APIl. In fact, I'll probably do that in a future release of the Random123 library.
FWIW, the C++ standard library uses void discard(long long);
Still, I would be pleased if our work became part of boost, and that boost wouuld be enhanced by its inclusion, so I'm still interested in finding a way to fit Random123 into boost.
I'm looking into the lib now, and I must say that the counter based concept is very interesting. I like it a lot, and I hope that you would also preserve this state-less approach if you align it with boost.
The issue that I see is that the stateless interface doesn't interact well with the distribution concepts and I see no easy way to make it work, since the distributions don't necessarily use a 1-to-1 transformation on the output of the engine.
At first look it would be nice if this would indeed become part of boost. As a boost user I would vote for inclusion if there was a vote.
From my point of view, I definitely support the addition of new engines that model the existing concepts. For
the stateless interface, the interaction with distributions /must/ be resolved first. In Christ, Steven Watanabe