dcmt-cpp  1.0.0
Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
dcmt::dcmt_param< UIntType, WordSize, p > Class Template Reference

Set of parameters for Mersenne Twister pseudo-random number generators. More...

#include <dcmt.h>

Public Types

using result_type = UIntType
 Integral type for generators. More...
 

Public Member Functions

 dcmt_param (result_type id=default_id, result_type seed=default_seed)
 Searches for a set of parameters for pseudo-random number generators. More...
 

Static Public Attributes

static constexpr std::size_t word_size = WordSize
 Word size that determines the range of generated numbers. More...
 
static constexpr std::size_t prime_exponent = p
 Mersenne prime exponent. More...
 
static constexpr result_type default_id = 0
 Default id to search for the characteristic polynomial. More...
 
static constexpr result_type default_seed = 4172
 Default random seed to search for the characteristic polynomial. More...
 

Friends

template<class U , std::size_t W, std::size_t P>
class dcmt_engine
 

Detailed Description

template<class UIntType, std::size_t WordSize, std::size_t p>
class dcmt::dcmt_param< UIntType, WordSize, p >

Set of parameters for Mersenne Twister pseudo-random number generators.

Template Parameters
UIntTypeunsigned integral type for generators
WordSizeword size for pseudo-random numbers
pMersenne prime exponent

Member Typedef Documentation

◆ result_type

template<class UIntType , std::size_t WordSize, std::size_t p>
using dcmt::dcmt_param< UIntType, WordSize, p >::result_type = UIntType

Integral type for generators.

Constructor & Destructor Documentation

◆ dcmt_param()

template<class UIntType , std::size_t WordSize, std::size_t p>
dcmt::dcmt_param< UIntType, WordSize, p >::dcmt_param ( result_type  id = default_id,
result_type  seed = default_seed 
)
inlineexplicit

Searches for a set of parameters for pseudo-random number generators.

Parameters
idto generate the characteristic polynomial. Must be <= 65535
seedrandom seed to generate the characteristic polynomial

Friends And Related Function Documentation

◆ dcmt_engine

template<class UIntType , std::size_t WordSize, std::size_t p>
template<class U , std::size_t W, std::size_t P>
friend class dcmt_engine
friend

Member Data Documentation

◆ default_id

template<class UIntType , std::size_t WordSize, std::size_t p>
constexpr UIntType dcmt::dcmt_param< UIntType, WordSize, p >::default_id = 0
static

Default id to search for the characteristic polynomial.

◆ default_seed

template<class UIntType , std::size_t WordSize, std::size_t p>
constexpr UIntType dcmt::dcmt_param< UIntType, WordSize, p >::default_seed = 4172
static

Default random seed to search for the characteristic polynomial.

◆ prime_exponent

template<class UIntType , std::size_t WordSize, std::size_t p>
constexpr std::size_t dcmt::dcmt_param< UIntType, WordSize, p >::prime_exponent = p
static

Mersenne prime exponent.

◆ word_size

template<class UIntType , std::size_t WordSize, std::size_t p>
constexpr std::size_t dcmt::dcmt_param< UIntType, WordSize, p >::word_size = WordSize
static

Word size that determines the range of generated numbers.


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