- Main Page
- Classes
- Files
- Directories
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# grinliz::Random Class Reference

Random number generators (including the rand() in C) are often frustratingly non-random in their lower bits. More...

`#include <glrandom.h>`

List of all members.

## Public Member Functions
| Random (U32 _seed=0)
| Constructor, with optional seed value.
void | SetSeed (U32 _seed)
| The current seed can be set at any time.
U16 | Rand ()
| Returns a 16bit random number.
U16 | Rand (U16 upperBound)
| Returns a random number greater than or equal to 0, and less that 'upperBound'.
U16 | RandD2 (U16 upperBound)
| "Roll two dice." Return a result from [0,upperBound).
U16 | RandD3 (U16 upperBound)
| "Roll three dice." Return a result from [0,upperBound).
double | DRand (double upper)
| Return a random number from 0 to upper: [0,upper].
float | FRand (float upper)
| Return a random number from 0 to upper: [0,upper].
bool | Boolean ()
| Return a random boolean.

## Detailed Description

Random number generators (including the rand() in C) are often frustratingly non-random in their lower bits.

This is a fast random number that is random in its lower bits.

## Member Function Documentation

U16 grinliz::Random::RandD2 | ( | U16 | upperBound | ) | `[inline]`

"Roll two dice." Return a result from [0,upperBound).

This has the same bell curve distribution as 2 dice.

U16 grinliz::Random::RandD3 | ( | U16 | upperBound | ) | `[inline]`

"Roll three dice." Return a result from [0,upperBound).

This has the same bell curve distribution as 3 dice.

void grinliz::Random::SetSeed | ( | U32 | _seed | ) |

The current seed can be set at any time.

This does put the random number generator in a consistent state, even though the random numbers are actually partially cached.

The documentation for this class was generated from the following file:

- glrandom.h