Experimental approach to reference-type random number generators
Joseph Rushton Wakeling
joseph.wakeling at webdrake.net
Sun Sep 1 17:07:27 PDT 2013
On 02/09/13 00:54, bearophile wrote:
> diceDistribution() is much more efficient than calling dice() many times in map.
Surely, but you should have both available in any case. I think there's a good
argument that for all random number distributions, there should be a function
_and_ a range implementation, so depending on your needs do either:
auto dist = someDistribution(/* ... parameters ... */, rng);
foreach (x; dist.take(10))
{
writeln(x);
}
... or:
foreach(_; 0 .. 10)
{
auto x = some(/* ... parameters ... */, rng);
writeln(x);
}
Of course in practice sometimes the range might just wrap the function, or the
function might contain within a static instance of the range.
More information about the Digitalmars-d
mailing list