MRandom Namespace Reference
Methods for generating random numbers.
The MRandom class implements several methods to generate sequences of random numbers.
For a given fixed seed, input i produces the i'th random number of a 2^64-long pseudo-random sequence. Different seeds will give different sequences, but nearby seeds may on rare occasion exhibit statistical correlations; it is therefore best to use hashed seeds.
All methods are thread-safe, values can be requested in any order, and sequences are repeatable.
|
OPENMAYA_EXPORT unsigned long long | Rand (unsigned long long i, unsigned long long seed) |
| Generate a random number. More...
|
|
OPENMAYA_EXPORT double | Rand_d (unsigned long long i, unsigned long long seed) |
| Generate a uniform double in [0,1). More...
|
|
OPENMAYA_EXPORT float | Rand_f (unsigned long long i, unsigned long long seed) |
| Generate a uniform float in [0,1). More...
|
|
OPENMAYA_EXPORT float | Rand_f (unsigned long long i, unsigned long long seed, float rangeMin, float rangeMax) |
| Generate a uniform float within a given range of values. More...
|
|
OPENMAYA_EXPORT void | Rand_2f (float output[2], unsigned long long i, unsigned long long seed) |
| Generate two uniform floats in [0,1). More...
|
|
OPENMAYA_EXPORT void | Rand_3f (float output[3], unsigned long long i, unsigned long long seed) |
| Generate three uniform floats in [0,1). More...
|
|
unsigned long long Rand |
( |
unsigned long long |
i, |
|
|
unsigned long long |
seed |
|
) |
| |
Generate a random number.
- Parameters
-
[in] | i | Requested value from the sequence of random numbers. |
[in] | seed | Seed value |
- Returns
- . Random number
double Rand_d |
( |
unsigned long long |
i, |
|
|
unsigned long long |
seed |
|
) |
| |
Generate a uniform double in [0,1).
- Parameters
-
[in] | i | Requested value from the sequence of random numbers. |
[in] | seed | Seed value |
- Returns
- . Random number
float Rand_f |
( |
unsigned long long |
i, |
|
|
unsigned long long |
seed |
|
) |
| |
Generate a uniform float in [0,1).
- Parameters
-
[in] | i | Requested value from the sequence of random numbers. |
[in] | seed | Seed value |
- Returns
- . Random number
float Rand_f |
( |
unsigned long long |
i, |
|
|
unsigned long long |
seed, |
|
|
float |
rangeMin, |
|
|
float |
rangeMax |
|
) |
| |
Generate a uniform float within a given range of values.
- Parameters
-
[in] | i | Requested value from the sequence of random numbers. |
[in] | seed | Seed value |
[in] | rangeMin | Lower bound on the range of values. |
[in] | rangeMax | Upper bound on the range of values. |
- Returns
- . Random number
void Rand_2f |
( |
float |
output[2], |
|
|
unsigned long long |
i, |
|
|
unsigned long long |
seed |
|
) |
| |
Generate two uniform floats in [0,1).
- Parameters
-
[out] | output | Holds two random numbers from the sequence. |
[in] | i | Requested value from the sequence of random numbers. |
[in] | seed | Seed value |
void Rand_3f |
( |
float |
output[3], |
|
|
unsigned long long |
i, |
|
|
unsigned long long |
seed |
|
) |
| |
Generate three uniform floats in [0,1).
- Parameters
-
[out] | output | Holds three random numbers from the sequence. |
[in] | i | Requested value from the sequence of random numbers. |
[in] | seed | Seed value |