![]() |
XII Release 0.1.0
|
A random number generator. Currently uses the WELL512 algorithm. More...
#include <Random.h>
Public Member Functions | |
| void | Initialize (xiiUInt64 uiSeed) |
| Initializes the RNG with the given seed value. The value should not be zero. | |
| void | InitializeFromCurrentTime () |
| Initializes the RNG using current time stamp. Not very sophisticated, but good enough for things that do not need to be secure. | |
| void | Save (xiiStreamWriter &ref_stream) const |
| Serializes the current state. | |
| void | Load (xiiStreamReader &ref_stream) |
| Deserializes the current state. | |
| xiiUInt32 | UInt () |
| Returns a uint32 value, ie. ranging from 0 to (2 ^ 32) - 1. | |
| xiiUInt32 | UIntInRange (xiiUInt32 uiRange) |
| Returns a uint32 value in range [0 ; uiRange - 1]. | |
| xiiInt32 | IntInRange (xiiInt32 iMinValue, xiiUInt32 uiRange) |
| Returns an int32 value in range [iMinValue ; iMinValue + uiRange - 1]. | |
| xiiInt32 | IntMinMax (xiiInt32 iMinValue, xiiInt32 iMaxValue) |
| Returns an int32 value in range [iMinValue ; iMaxValue]. | |
| XII_ALWAYS_INLINE bool | Bool () |
| Returns a boolean either being true or false. | |
| XII_ALWAYS_INLINE double | DoubleZeroToOneExclusive () |
| Returns a value in range [0.0 ; 1.0), ie. including zero, but excluding one. | |
| XII_ALWAYS_INLINE double | DoubleZeroToOneInclusive () |
| Returns a value in range [0.0 ; 1.0], ie. including zero and one. | |
| double | DoubleInRange (double fMinValue, double fRange) |
| Returns a double value in range [fMinValue ; fMinValue + fRange) | |
| double | DoubleMinMax (double fMinValue, double fMaxValue) |
| Returns a double value in range [fMinValue ; fMaxValue]. | |
| double | DoubleVariance (double fValue, double fVariance) |
| Returns a double value around fValue with a given variance (0 - 1 range) | |
| double | DoubleVarianceAroundZero (double fAbsMaxValue) |
| Returns a double value between [-fAbsMaxValue; +fAbsMaxValue] with a Gaussian distribution. | |
| XII_ALWAYS_INLINE float | FloatZeroToOneExclusive () |
| Returns a value in range [0.0 ; 1.0), ie. including zero, but excluding one. | |
| XII_ALWAYS_INLINE float | FloatZeroToOneInclusive () |
| Returns a value in range [0.0 ; 1.0], ie. including zero and one. | |
| XII_ALWAYS_INLINE float | FloatInRange (float fMinValue, float fRange) |
| Returns a float value in range [fMinValue ; fMinValue + fRange) | |
| XII_ALWAYS_INLINE float | FloatMinMax (float fMinValue, float fMaxValue) |
| Returns a float value in range [fMinValue ; fMaxValue]. | |
| XII_ALWAYS_INLINE float | FloatVariance (float fValue, float fVariance) |
| Returns a float value around fValue with a given variance (0 - 1 range) | |
| XII_ALWAYS_INLINE float | FloatVarianceAroundZero (float fAbsMaxValue) |
| Returns a float value between [-fAbsMaxValue; +fAbsMaxValue] with a Gaussian distribution. | |
A random number generator. Currently uses the WELL512 algorithm.
| double xiiRandom::DoubleMinMax | ( | double | fMinValue, |
| double | fMaxValue ) |
Returns a double value in range [fMinValue ; fMaxValue].
| double xiiRandom::DoubleVariance | ( | double | fValue, |
| double | fVariance ) |
Returns a double value around fValue with a given variance (0 - 1 range)
| double xiiRandom::DoubleVarianceAroundZero | ( | double | fAbsMaxValue | ) |
Returns a double value between [-fAbsMaxValue; +fAbsMaxValue] with a Gaussian distribution.
| xiiInt32 xiiRandom::IntInRange | ( | xiiInt32 | iMinValue, |
| xiiUInt32 | uiRange ) |
Returns an int32 value in range [iMinValue ; iMinValue + uiRange - 1].
| xiiUInt32 xiiRandom::UIntInRange | ( | xiiUInt32 | uiRange | ) |
Returns a uint32 value in range [0 ; uiRange - 1].