Created by Scott Robert Ladd at Coyote Gulch Productions.
Implements MWC1038, a peudorandom number generator. More...
#include <mwc1038.h>
Public Member Functions | |
| mwc1038 () | |
| Default constructor, reading seed from/dev/urandom or the time. More... | |
| mwc1038 (uint32_t seed) | |
| Default constructor, with optional seed. More... | |
| virtual void | init (uint32_t seed) |
| Initializes the generator with "seed". More... | |
| virtual uint32_t | get_rand () |
| Get the next integer. More... | |
Public Member Functions inherited from libcoyotl::prng | |
| prng () | |
| Default constructor, reading seed from/dev/urandom or the time. More... | |
| prng (uint32_t seed) | |
| Default constructor, with optional seed. More... | |
| uint32_t | get_seed () |
| Returns the original seed value. More... | |
| uint32_t | get_rand_range (uint32_t lo, uint32_t hi) |
| Get the next integer in the range [lo,hi]. More... | |
| size_t | get_rand_index (size_t length) |
| Get the next random value as a size_t index. More... | |
| double | get_rand_real1 () |
| Get the next number in the range [0,1]. More... | |
| double | get_rand_real2 () |
| Get the next number in the range [0,1) More... | |
| double | get_rand_real3 () |
| Get the next number in the range (0,1) More... | |
| double | get_rand_real53 () |
| Get the next number in the range [0,1) More... | |
Additional Inherited Members | |
Protected Attributes inherited from libcoyotl::prng | |
| uint32_t | m_seed |
| Initialization seed. | |
The mwc1038 class encapsulates a multiply-with-carry algorithm for psuedorandom number generation, as suggested by George Marsaglia in a posting found here:
http://forums.wolfram.com/mathgroup/archive/2003/Jan/msg00355.html
| libcoyotl::mwc1038::mwc1038 | ( | ) |
The constructor initializes the prng seed from either the time or some stochastic source such as /dev/random or /dev/urandom.
| libcoyotl::mwc1038::mwc1038 | ( | uint32_t | seed | ) |
The constructor uses an explicit value for the seed.
| seed | - Seed value used to "start" or seed the generator |
|
virtual |
Returns the next uint32_t in sequence.
Implements libcoyotl::prng.
|
virtual |
Resets the generator using the provided seed value.
| seed | - Seed value used to "start" or seed the generator |
Reimplemented from libcoyotl::prng.
© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.