View source code
Display the source code in std/random.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Alias std.random.MinstdRand
Define LinearCongruentialEngine
generators with well-chosen
parameters.
implements Park and Miller's "minimal
standard"
generator that uses 16807 for the multiplier. MinstdRand0
implements a variant that has slightly better spectral behavior by
using the multiplier 48271. Both generators are rather simplistic.
MinstdRand
Declaration
alias MinstdRand = LinearCongruentialEngine!(uint,48271,0,2147483647)
;
Example
// seed with a constant auto rnd0 = MinstdRand0(1); auto n = rnd0.front; // same for each run // Seed with an unpredictable value rnd0.seed(unpredictableSeed); n = rnd0.front; // different across runs
Authors
Andrei Alexandrescu
Masahiro Nakagawa (Xorshift
random generator)
Joseph Rushton Wakeling (Algorithm D for random sampling)