Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
rng< T > Struct Template Reference

Integral specialization. More...

#include <random.h>

Inherits rng< scalar_t< T > >.

Public Types

using type = T
 
using type = T
 
using type = T
 
- Public Types inherited from rng< scalar_t< T > >
using type = scalar_t< T >
 
using type = scalar_t< T >
 

Public Member Functions

 rng (void)
 
 rng (seed_t seed, type lower=0, type upper=std::numeric_limits< T >::max())
 
 rng (type lower, type upper)
 
void seed (seed_t seed)
 set the seed
 
type operator() (void)
 get next number
 
void seed (auto seed)
 set the seed
 
type operator() (void)
 get next number
 
type operator() (void)
 get next number
 
 rng (void)
 Constructors.
 
 rng (auto seed, type lower=0, type upper=1)
 
 rng (type lower, type upper)
 
- Public Member Functions inherited from rng< scalar_t< T > >
void seed (auto seed)
 set the seed
 
void seed (auto seed)
 set the seed
 
type operator() (void)
 \ brief get next number
 
type operator() (void)
 \ brief get next number
 
 rng (void)
 Constructors.
 
 rng (seed_t seed)
 
 rng (type lower, type upper)
 
 rng (seed_t seed, type lower, type upper)
 
 rng (void)
 Constructors.
 
 rng (seed_t seed)
 
 rng (type lower, type upper)
 
 rng (seed_t seed, type lower, type upper)
 

Private Attributes

std::mt19937_64 _rng
 
std::uniform_int_distribution< T > _dist
 
std::uniform_real_distribution< T > _dist
 

Detailed Description

template<typename T>
requires std::integral<T>
struct backbone::rng< T >

Integral specialization.

Array specialization.

Floating point specialization.

Member Typedef Documentation

◆ type [1/3]

using type = T

◆ type [2/3]

using type = T

◆ type [3/3]

using type = T

Constructor & Destructor Documentation

◆ rng() [1/6]

rng ( void  )
inline

◆ rng() [2/6]

rng ( seed_t  seed,
type  lower = 0,
type  upper = std::numeric_limits<T>::max() 
)
inline

◆ rng() [3/6]

rng ( type  lower,
type  upper 
)
inline

◆ rng() [4/6]

rng ( void  )
inline

Constructors.

◆ rng() [5/6]

rng ( auto  seed,
type  lower = 0,
type  upper = 1 
)
inline

◆ rng() [6/6]

rng ( type  lower,
type  upper 
)
inline

Member Function Documentation

◆ operator()() [1/3]

type operator() ( void  )
inline

get next number

◆ operator()() [2/3]

type operator() ( void  )
inline

get next number

◆ operator()() [3/3]

type operator() ( void  )
inline

get next number

◆ seed() [1/2]

void seed ( auto  seed)
inline

set the seed

◆ seed() [2/2]

void seed ( seed_t  seed)
inline

set the seed

Member Data Documentation

◆ _dist [1/2]

std::uniform_int_distribution<T> _dist
private

◆ _dist [2/2]

std::uniform_real_distribution<T> _dist
private

◆ _rng

std::mt19937_64 _rng
private

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