This class is an implementation of D. H. Lehmer's linear congruential formula as described by Donald E. Knuth in: The Art of Computer Programming, Volume 2, Section 3.2.1.
|
Public Types |
typedef spec::Handle | Handle |
| Random Handle definition. |
typedef spec::View | View |
| Random View definition. |
typedef spec::Holder | Holder |
| Random Holder definition. |
Public Member Functions |
virtual int32_t | nextInt32 (int32_t n) |
| Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence. |
virtual bool | nextBoolean () |
| Returns the next pseudorandom, uniformly distributed boolean value from this random number generator's sequence. |
virtual int32_t | nextInt32 () |
| Returns the next pseudorandom, uniformly distributed int32_t value from this random number generator's sequence. |
virtual int64_t | nextInt64 () |
| Returns the next pseudorandom, uniformly distributed int64_t value from this random number generator's sequence. |
virtual float32_t | nextFloat32 () |
| Returns the next pseudorandom, uniformly distributed float32_t value from this random number generator's sequence. |
virtual float64_t | nextFloat64 () |
| Returns the next pseudorandom, uniformly distributed float64_t value from this random number generator's sequence. |
virtual void | seed () |
| Provides a default seeding algorithm that is used to seed this random number if no seed is provided. |
virtual void | setSeed (int64_t lSeed) |
| Sets the seed of this random number generator using a single long seed. |
Static Public Member Functions |
static
ObjectArray::Handle | randomize (ObjectArray::Handle ha) |
| Randomize the order of the elements within the passed array. |
static List::Handle | randomize (List::Handle hl) |
| Randomize the order of the elements within the passed list. |
static Handle | getInstance () |
| Return the static Random instance. |
Protected Member Functions |
| Random () |
| Create a new Random instance without supplying a seed. |
| Random (int64_t lSeed) |
| Create a new Random instance, specifying a seed to use. |
virtual int32_t | next (int32_t nBits) |
| Implementation of the random number algorithm which generates the next pseudorandom number. |
Protected Attributes |
NativeAtomic64 | m_atomicSeed |
| The internal state associated with this pseudorandom number generator. |