Predictable seed for pseudo-random number generation
Joseph Rushton Wakeling
joseph.wakeling at webdrake.net
Fri Jul 20 10:52:17 PDT 2012
Hello all,
Often when writing simulations with pseudo-random number generation you want to
be able to use a predictable seed for testing purposes, e.g. to confirm whether
an alteration to the code produces changes in output.
In a single-threaded piece of code this is easy -- one can just put
rndGen.seed(/* my chosen seed here*/);
... in the main() function. But what about multithreaded code? rndGen is (by
definition) thread-global, and so will be separately seeded in each thread.
Again, it's surely possible to put in place something like the above in the
controller function for each thread; perhaps
rndGen.seed(baseSeed + threadID);
... but it would be nice if there was a simpler way of ensuring that all default
RNG seeds will be predictable, without damaging the independence of the random
number sequences in different threads.
On a related note, is it possible to override the default random number
generator with another type?
Thanks and best wishes,
-- Joe
More information about the Digitalmars-d-learn
mailing list