On Thursday, 25 February 2016 at 17:27:25 UTC, Andrei Alexandrescu wrote:
So we have https://dlang.org/phobos/std_random.html#.randomCover which needs to awkwardly allocate memory to keep track of the portions of the array already covered.

This could be fixed by devising a PRNG that takes a given period n and generates all numbers in [0, n) in exactly n steps.

However, I've had difficulty finding such PRNGs. Most want the maximum period possible so they're not concerned with a given period. Any insights?

BTW I found this statement in the documentation rather odd: "These issues will be resolved in a second-generation std.random that re-implements random number generators as reference types." The documentation is not a place for making vague promises and speculations about future developments. I think it should be removed.


Thanks,

Andrei

The technical name for the property of distribution you describe is
 k-Dimensional Equidistribution (in this case k=1).
I would suggest taking a look at http://www.pcg-random.org.
They claim to have both arbitrary period and k-Dimensional Equidistribution

Nic

Reply via email to