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^64long pseudorandom 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 threadsafe, 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 