Stefan Scholz / ETL
Embed: (wiki syntax)

« Back to documentation index

random_lsfr Class Reference

random_lsfr Class Reference

A 32 bit random number generator. More...

#include <random.h>

Inherits etl::random.

Public Member Functions

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

Detailed Description

A 32 bit random number generator.

Uses a linear shift feedback register. https://en.wikipedia.org/wiki/Linear-feedback_shift_register

Definition at line 131 of file random.h.


Constructor & Destructor Documentation

random_lsfr (  )

Default constructor.

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

Definition at line 236 of file random.cpp.

random_lsfr ( uint32_t  seed ) [explicit]

Constructor with seed value.

Parameters:
seedThe new seed value.

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

uint32_t operator() (  ) [virtual]

Get the next random_lsfr number.

Implements random.

Definition at line 266 of file random.cpp.

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

Get the next random_lsfr number in a specified inclusive range.

Implements random.

Definition at line 283 of file random.cpp.