Stefan Scholz / ETL
Embed: (wiki syntax)

« Back to documentation index

random_clcg Class Reference

random_clcg Class Reference

A 32 bit random number generator. More...

#include <random.h>

Inherits etl::random.

Public Member Functions

 random_clcg ()
 Default constructor.
 random_clcg (uint32_t seed)
 Constructor with seed value.
void initialise (uint32_t seed)
 Initialises the sequence with a new seed value.
uint32_t operator() ()
 Get the next random_clcg number.
uint32_t range (uint32_t low, uint32_t high)
 Get the next random_clcg number in a specified inclusive range.

Detailed Description

A 32 bit random number generator.

Uses a combined linear congruential generator. https://cs.adelaide.edu.au/~paulc/teaching/montecarlo/node107.html

Definition at line 104 of file random.h.


Constructor & Destructor Documentation

random_clcg (  )

Default constructor.

Attempts to come up with a unique non-zero seed.

Definition at line 173 of file random.cpp.

random_clcg ( uint32_t  seed ) [explicit]

Constructor with seed value.

Parameters:
seedThe new seed value.

Definition at line 186 of file random.cpp.


Member Function Documentation

void initialise ( uint32_t  seed ) [virtual]

Initialises the sequence with a new seed value.

Parameters:
seedThe new seed value.

Implements random.

Definition at line 195 of file random.cpp.

uint32_t operator() (  ) [virtual]

Get the next random_clcg number.

Implements random.

Definition at line 205 of file random.cpp.

uint32_t range ( uint32_t  low,
uint32_t  high 
) [virtual]

Get the next random_clcg number in a specified inclusive range.

Implements random.

Definition at line 218 of file random.cpp.