Iros
 
Loading...
Searching...
No Matches
di::LinearCongruentialEngine< T, a, c, m > Class Template Reference

#include <di/random/generator/linear_congruential_engine.h>

Public Types

using Result = T
 

Public Member Functions

constexpr LinearCongruentialEngine ()
 
constexpr LinearCongruentialEngine (T seed)
 
constexpr void seed (T seed=default_seed)
 
constexpr auto operator() () -> T
 
constexpr void discard (umax z)
 

Static Public Member Functions

static constexpr auto min () -> T
 
static constexpr auto max () -> T
 

Static Public Attributes

static constexpr auto multiplier = a
 
static constexpr auto increment = c
 
static constexpr auto modulus = m
 
static constexpr T default_seed = 1U
 

Friends

constexpr friend auto operator== (LinearCongruentialEngine const &x, LinearCongruentialEngine const &y) -> bool
 

Member Typedef Documentation

◆ Result

template<concepts::UnsignedInteger T, T a, T c, T m>
using di::random::LinearCongruentialEngine< T, a, c, m >::Result = T

Constructor & Destructor Documentation

◆ LinearCongruentialEngine() [1/2]

template<concepts::UnsignedInteger T, T a, T c, T m>
di::random::LinearCongruentialEngine< T, a, c, m >::LinearCongruentialEngine ( )
inlineconstexpr

◆ LinearCongruentialEngine() [2/2]

template<concepts::UnsignedInteger T, T a, T c, T m>
di::random::LinearCongruentialEngine< T, a, c, m >::LinearCongruentialEngine ( T seed)
inlineexplicitconstexpr

Member Function Documentation

◆ discard()

template<concepts::UnsignedInteger T, T a, T c, T m>
void di::random::LinearCongruentialEngine< T, a, c, m >::discard ( umax z)
inlineconstexpr

◆ max()

template<concepts::UnsignedInteger T, T a, T c, T m>
static constexpr auto di::random::LinearCongruentialEngine< T, a, c, m >::max ( ) -> T
inlinestaticconstexpr

◆ min()

template<concepts::UnsignedInteger T, T a, T c, T m>
static constexpr auto di::random::LinearCongruentialEngine< T, a, c, m >::min ( ) -> T
inlinestaticconstexpr

◆ operator()()

template<concepts::UnsignedInteger T, T a, T c, T m>
auto di::random::LinearCongruentialEngine< T, a, c, m >::operator() ( ) -> T
inlineconstexpr

◆ seed()

template<concepts::UnsignedInteger T, T a, T c, T m>
void di::random::LinearCongruentialEngine< T, a, c, m >::seed ( T seed = default_seed)
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator==

template<concepts::UnsignedInteger T, T a, T c, T m>
friend auto operator== ( LinearCongruentialEngine< T, a, c, m > const & x,
LinearCongruentialEngine< T, a, c, m > const & y ) -> bool
friend

Member Data Documentation

◆ default_seed

template<concepts::UnsignedInteger T, T a, T c, T m>
T di::random::LinearCongruentialEngine< T, a, c, m >::default_seed = 1U
staticconstexpr

◆ increment

template<concepts::UnsignedInteger T, T a, T c, T m>
auto di::random::LinearCongruentialEngine< T, a, c, m >::increment = c
staticconstexpr

◆ modulus

template<concepts::UnsignedInteger T, T a, T c, T m>
auto di::random::LinearCongruentialEngine< T, a, c, m >::modulus = m
staticconstexpr

◆ multiplier

template<concepts::UnsignedInteger T, T a, T c, T m>
auto di::random::LinearCongruentialEngine< T, a, c, m >::multiplier = a
staticconstexpr

The documentation for this class was generated from the following file: