|
|
| XoshiroRand (uint64_t seed) |
| |
|
| XoshiroRand (const uint64_t entropy[4]) |
| |
| void | rseed (uint64_t seed) |
| | Reset the generator's state with the bits of seed as its source of entropy.
|
| |
|
template<typename F> |
| void | seed (F &&entropy) |
| |
|
void | seed (const uint64_t entropy[4]) |
| |
|
uint64_t | rand64 () |
| |
| uint32_t | rand32 () |
| |
| template<typename T> |
| T | rand () |
| |
| template<typename T> |
| T | rand (T max) |
| |
| template<typename T> |
| T | rand (T lo, T hi) |
| |
|
template<> |
| bool | rand () |
| |
|
template<> |
| unsigned int | rand () |
| |
|
template<> |
| int | rand () |
| |
|
template<> |
| unsigned long | rand () |
| |
|
template<> |
| long | rand () |
| |
|
template<> |
| unsigned long long | rand () |
| |
|
template<> |
| long long | rand () |
| |
|
template<> |
| float | rand () |
| |
|
template<> |
| double | rand () |
| |
|
template<> |
| unsigned int | rand (unsigned int hi) |
| |
|
template<> |
| int | rand (int hi) |
| |
|
template<> |
| unsigned long | rand (unsigned long hi) |
| |
|
template<> |
| long | rand (long hi) |
| |
|
template<> |
| unsigned long long | rand (unsigned long long hi) |
| |
|
template<> |
| long long | rand (long long hi) |
| |
|
template<> |
| float | rand (float hi) |
| |
|
template<> |
| double | rand (double hi) |
| |
|
template<> |
| int | rand (int lo, int hi) |
| |
|
template<> |
| long long | rand (long long lo, long long hi) |
| |
|
template<> |
| float | rand (float lo, float hi) |
| |
|
template<> |
| double | rand (double lo, double hi) |
| |
| template<> |
| bool | rand () |
| |
| template<> |
| unsigned int | rand () |
| |
| template<> |
| int | rand () |
| |
| template<> |
| unsigned long | rand () |
| |
| template<> |
| long | rand () |
| |
| template<> |
| unsigned long long | rand () |
| |
| template<> |
| long long | rand () |
| |
| template<> |
| float | rand () |
| |
| template<> |
| double | rand () |
| |
| template<> |
| unsigned int | rand (unsigned int hi) |
| |
| template<> |
| int | rand (int hi) |
| |
| template<> |
| unsigned long | rand (unsigned long hi) |
| |
| template<> |
| long | rand (long hi) |
| |
| template<> |
| unsigned long long | rand (unsigned long long hi) |
| |
| template<> |
| long long | rand (long long hi) |
| |
| template<> |
| float | rand (float hi) |
| |
| template<> |
| double | rand (double hi) |
| |
| template<> |
| int | rand (int lo, int hi) |
| |
| template<> |
| long long | rand (long long lo, long long hi) |
| |
| template<> |
| float | rand (float lo, float hi) |
| |
| template<> |
| double | rand (double lo, double hi) |
| |
|
|
uint32_t | _bitpool |
| |
|
unsigned int | _bitsleft |
| |
◆ rand() [1/24]
Produces a (pseudo-) random T with uniform distribution over the unit interval, if the unit interval is populated by T; or with uniform distribution over the entire space of possible T otherwise.
For example, rand<float>() returns a random float between 0 and 1.0, while rand<unsigned int>() returns a random uint between 0 and UINT_MAX.
◆ rand() [2/24]
- Returns
- A random boolean value.
◆ rand() [3/24]
- Returns
- An
unsigned int between 0 and UINT_MAX.
◆ rand() [4/24]
- Returns
- An
int between INT_MIN and INT_MAX.
◆ rand() [5/24]
- Returns
- An
unsigned long between 0 and ULONG_MAX.
◆ rand() [6/24]
- Returns
- A
long between LONG_MIN and LONG_MAX.
◆ rand() [7/24]
template<>
| unsigned long long rand |
( |
| ) |
|
|
inherited |
- Returns
- An
unsigned long long betwen 0 and ULLONG_MAX.
◆ rand() [8/24]
- Returns
- A
long long between LLONG_MIN and LLONG_MAX.
◆ rand() [9/24]
Generate a floating-point value with uniform distribution between 0 and 1.0.
This method is preferable to use over the common practice of rand<int>() / (float)INT_MAX, as the latter excludes a large fraction of the representable floating point numbers between 0.0 and 1.0 (particularly those near zero), resulting in reduced entropy.
This method produces a number by carefully picking the bits of the exponent and mantissa explicitly, in such a way that the distibution remains uniform.
◆ rand() [10/24]
Generate a floating-point value with uniform distribution between 0 and 1.0.
This method is preferable to use over the common practice of rand<int>() / (float)INT_MAX, as the latter excludes a large fraction of the representable floating point numbers between 0.0 and 1.0 (particularly those near zero), resulting in reduced entropy.
This method produces a number by carefully picking the bits of the exponent and mantissa explicitly, in such a way that the distibution remains uniform.
◆ rand() [11/24]
- Parameters
-
| hi | Upper or lower bound of random number. |
- Returns
- A
double between 0 and hi, regardless of the sign of hi.
◆ rand() [12/24]
template<>
| double rand |
( |
double | lo, |
|
|
double | hi ) |
|
inherited |
- Parameters
-
| lo | Lower bound of random number. |
| hi | Upper bound of random number. |
- Returns
- An
double between lo and hi.
◆ rand() [13/24]
- Parameters
-
| hi | Upper or lower bound of random number. |
- Returns
- A
float between 0 and hi, regardless of the sign of hi.
◆ rand() [14/24]
template<>
| float rand |
( |
float | lo, |
|
|
float | hi ) |
|
inherited |
- Parameters
-
| lo | Lower bound of random number. |
| hi | Upper bound of random number. |
- Returns
- An
float between lo and hi.
◆ rand() [15/24]
- Parameters
-
| hi | Upper or lower bound of random number. |
- Returns
- A number between 0 and
hi (regardless of the sign of hi).
◆ rand() [16/24]
template<>
| int rand |
( |
int | lo, |
|
|
int | hi ) |
|
inherited |
- Parameters
-
| lo | Lower bound of random number. |
| hi | Upper bound of random number. |
- Returns
- An
int between lo and hi.
◆ rand() [17/24]
- Parameters
-
| hi | Upper or lower bound of random number. |
- Returns
- A
long between 0 and hi, regardless of the sign of hi.
◆ rand() [18/24]
template<>
| long long rand |
( |
long long | hi | ) |
|
|
inherited |
- Parameters
-
| hi | Upper or lower bound of random number. |
- Returns
- A
long long between 0 and hi, regardless of the sign of hi.
◆ rand() [19/24]
template<>
| long long rand |
( |
long long | lo, |
|
|
long long | hi ) |
|
inherited |
- Parameters
-
| lo | Lower bound of random number. |
| hi | Upper bound of random number. |
- Returns
- A
long long between lo and hi.
◆ rand() [20/24]
Produces a (pseudo-) random T with uniform distribution between lo and hi.
- Parameters
-
| lo | Lower bound for possible T samples. |
| hi | Upper bound for possible T samples. |
◆ rand() [21/24]
Produces a (pseudo-) random T with uniform distribution between the T analogue of 0 and max.
- Parameters
-
| max | Upper bound of possible T samples. |
◆ rand() [22/24]
template<>
| unsigned int rand |
( |
unsigned int | hi | ) |
|
|
inherited |
- Parameters
-
| hi | Upper bound of random number. |
- Returns
- An
unsigned int between 0 and hi.
◆ rand() [23/24]
template<>
| unsigned long rand |
( |
unsigned long | hi | ) |
|
|
inherited |
- Parameters
-
| hi | Upper bound of random number. |
- Returns
- An
unsigned long between 0 and hi.
◆ rand() [24/24]
template<>
| unsigned long long rand |
( |
unsigned long long | hi | ) |
|
|
inherited |
- Parameters
-
| hi | Upper bound of random number. |
- Returns
- An
unsigned long long between 0 and hi.
◆ rand32()
- Returns
- No fewer than 32 (pseudo-) random bits.
Implements Random.
◆ rseed()
| void rseed |
( |
uint64_t | seed | ) |
|
|
inlinevirtual |
Reset the generator's state with the bits of seed as its source of entropy.
Implements Random.
The documentation for this class was generated from the following file: