Stefan Scholz / ETL
Embed: (wiki syntax)

« Back to documentation index

random_xorshift Class Reference

random_xorshift Class Reference

A 32 bit random number generator. More...

#include <random.h>

Inherits etl::random.

Public Member Functions

 random_xorshift ()
 Default constructor.
 random_xorshift (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_xorshift number.
uint32_t range (uint32_t low, uint32_t high)
 Get the next random_xorshift number in a specified inclusive range.

Detailed Description

A 32 bit random number generator.

Uses a 128 bit XOR shift algorithm. https://en.wikipedia.org/wiki/Xorshift

Definition at line 61 of file random.h.


Constructor & Destructor Documentation

Default constructor.

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

Definition at line 44 of file random.cpp.

random_xorshift ( uint32_t  seed ) [explicit]

Constructor with seed value.

Parameters:
seedThe new seed value.

Definition at line 57 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 66 of file random.cpp.

uint32_t operator() (  ) [virtual]

Get the next random_xorshift number.

Implements random.

Definition at line 78 of file random.cpp.

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

Get the next random_xorshift number in a specified inclusive range.

Implements random.

Definition at line 96 of file random.cpp.