The random number module provides the functionality to generate pseudo-random numbers within the Blaze library. In order to create series of random numbers, the following functions are are provided:
The templated rand() function is capable of generating random numbers for built-in integer and floating point data types as well as complex values. The rand() function can be given up to five parameters that depending on the type of the random number may have different meaning. The following example demonstrates the random number generation:
using namespace blaze;
int i = rand<int>();
double d = rand<double>( 2.0, 4.0 );
complex<float> c1 = rand< complex<float> >();
complex<float> c2 = rand< complex<float> >( 1.0F, 4.0F );
complex<float> c3 = rand< complex<float> >( 2.0F, 3.0F, 1.0F, 5.0F );
uint32_t getSeed()
Returns the current seed of the random number generator.
Definition: Random.h:675
void setSeed(uint32_t seed)
Setting the seed of the random number generator.
Definition: Random.h:693
- Note
- In order to reproduce certain series of random numbers, the seed of the random number generator has to be set explicitly via the setSeed() function. Otherwise a random seed is used for the random number generation.
◆ defaultSeed()
uint32_t blaze::defaultSeed |
( |
| ) |
|
|
inline |
Returns the default random seed.
- Returns
- The default random seed.
◆ getSeed()
template<typename RNG = DefaultRNG>
uint32_t blaze::getSeed |
( |
| ) |
|
|
inline |
Returns the current seed of the random number generator.
- Returns
- The current seed of the random number generator.
◆ rand() [1/2]
◆ rand() [2/2]
template<typename T , typename... Args>
T blaze::rand |
( |
Args &&... |
args | ) |
|
|
inline |
Random number function.
- Parameters
-
args | The arguments for the random number generation. |
- Returns
- The generated random number.
This rand() function creates a random number based on the given arguments args.
◆ randomize() [1/2]
template<typename T >
void blaze::randomize |
( |
T && |
value | ) |
|
|
inline |
◆ randomize() [2/2]
template<typename T , typename... Args>
void blaze::randomize |
( |
T && |
value, |
|
|
Args &&... |
args |
|
) |
| |
|
inline |
Randomization of a given variable.
- Parameters
-
value | The value to be randomized. |
args | The arguments for the random number generation. |
- Returns
- void
This randomize() function randomizes the given variable based on the given arguments args.
◆ setSeed()
template<typename RNG = DefaultRNG>
void blaze::setSeed |
( |
uint32_t |
seed | ) |
|
|
inline |
Setting the seed of the random number generator.
- Parameters
-
seed | The new seed for the random number generator. |
- Returns
- void
This function can be used to set the seed for the random number generation in order to create a reproducible series of random numbers.