isUniformRNG
Joseph Rushton Wakeling via Digitalmars-d
digitalmars-d at puremagic.com
Thu May 8 14:29:45 PDT 2014
On 08/05/14 19:18, Nick Sabalausky via Digitalmars-d wrote:
> Some good looking stuff in there. The separation is a nice improvement, and
> having a "shuffle" is something we could certainly use.
Thanks! :-)
There is already a shuffle function in the existing std.random, but it's called
randomShuffle:
http://dlang.org/phobos/std_random.html#.randomShuffle
> About avoiding problems from accidentally duplicating internal state, I'm not
> sure that changing to classes is really necessary for that. I addressed it in
> HashDRBG by simply making the internal state static. (Oops, or at least I meant
> to...fixing now...). The various InputRange instantiations (for the different
> possible elemement types) all draw from the same source (HashDRBGStream), so
> this should work out pretty well. I'd imagine the existing std.random algos
> could do something similar.
That seems a problematic fix for me -- doesn't it mean that there can only ever
be one instance of any individual RNG? While many applications wouldn't notice
the difference, it's a pretty major breach of encapsulation (and purity).
On a related note -- I like your concept of a random stream. I think it may be
useful to adapt as part of the way in which std.random2.device works. I need to
compare to other Phobos stream code -- isn't Steven Schweighoffer working on
up-to-date stream functionality as part of std.io ... ?
More information about the Digitalmars-d
mailing list