tinymt-cpp  0.0.1
Classes | Functions | Variables
tinymt::detail Namespace Reference

Internal details. More...

Classes

struct  is_twos_complement
 Checks whether the given integral type T (or its signed type) uses 2's complement for the signed integer representation. More...
 
struct  tinymt_engine_impl
 Core implementation of the TinyMT algorithms. More...
 
struct  tinymt_engine_impl< UIntType, 32, Mat1, Mat2, TMat, DoPeriodCertification >
 
struct  tinymt_engine_param
 Generator's parameter set. More...
 
struct  tinymt_engine_status
 Generator's state and parameter set. More...
 
struct  tinymt_engine_status< UIntType, 32, 0, 0, 0 >
 
struct  tinymt_engine_status< UIntType, 32, Mat1, Mat2, TMat >
 

Functions

template<class UIntType1 , class UIntType2 , std::size_t WordSize, std::uintmax_t Mat11, std::uintmax_t Mat12, std::uintmax_t Mat21, std::uintmax_t Mat22, std::uintmax_t TMat1, std::uintmax_t TMat2>
bool operator== (const tinymt_engine_status< UIntType1, WordSize, Mat11, Mat21, TMat1 > &a, const tinymt_engine_status< UIntType2, WordSize, Mat12, Mat22, TMat2 > &b)
 
template<class UIntType1 , class UIntType2 , std::size_t WordSize, std::uintmax_t Mat11, std::uintmax_t Mat12, std::uintmax_t Mat21, std::uintmax_t Mat22, std::uintmax_t TMat1, std::uintmax_t TMat2>
bool operator!= (const tinymt_engine_status< UIntType1, WordSize, Mat11, Mat21, TMat1 > &a, const tinymt_engine_status< UIntType2, WordSize, Mat12, Mat22, TMat2 > &b)
 
template<class CharT , class Traits , class UIntType , std::size_t WordSize, std::uintmax_t Mat1, std::uintmax_t Mat2, std::uintmax_t TMat>
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const tinymt_engine_status< UIntType, WordSize, Mat1, Mat2, TMat > &s)
 
template<class CharT , class Traits , class UIntType , std::size_t WordSize, std::uintmax_t Mat1, std::uintmax_t Mat2, std::uintmax_t TMat, TINYMT_CPP_ENABLE_WHEN(!tinymt_engine_status< UIntType, WordSize, Mat1, Mat2, TMat >::is_dynamic::value) >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, tinymt_engine_status< UIntType, WordSize, Mat1, Mat2, TMat > &s)
 

Variables

constexpr uint_least32_t tinymt32_default_param_mat1 = 0x8f7011eeU
 Default parameter mat1 of TinyMT32 specified in RFC 8682. More...
 
constexpr uint_least32_t tinymt32_default_param_mat2 = 0xfc78ff1fU
 Default parameter mat2 of TinyMT32 specified in RFC 8682. More...
 
constexpr uint_least32_t tinymt32_default_param_tmat = 0x3793fdffU
 Default parameter tmat of TinyMT32 specified in RFC 8682. More...
 

Detailed Description

Internal details.

They may be incompatibly changed in future. Applications should not rely on these details.

Function Documentation

◆ operator!=()

template<class UIntType1 , class UIntType2 , std::size_t WordSize, std::uintmax_t Mat11, std::uintmax_t Mat12, std::uintmax_t Mat21, std::uintmax_t Mat22, std::uintmax_t TMat1, std::uintmax_t TMat2>
bool tinymt::detail::operator!= ( const tinymt_engine_status< UIntType1, WordSize, Mat11, Mat21, TMat1 > &  a,
const tinymt_engine_status< UIntType2, WordSize, Mat12, Mat22, TMat2 > &  b 
)
inline

◆ operator<<()

template<class CharT , class Traits , class UIntType , std::size_t WordSize, std::uintmax_t Mat1, std::uintmax_t Mat2, std::uintmax_t TMat>
std::basic_ostream<CharT, Traits>& tinymt::detail::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const tinymt_engine_status< UIntType, WordSize, Mat1, Mat2, TMat > &  s 
)
inline

◆ operator==()

template<class UIntType1 , class UIntType2 , std::size_t WordSize, std::uintmax_t Mat11, std::uintmax_t Mat12, std::uintmax_t Mat21, std::uintmax_t Mat22, std::uintmax_t TMat1, std::uintmax_t TMat2>
bool tinymt::detail::operator== ( const tinymt_engine_status< UIntType1, WordSize, Mat11, Mat21, TMat1 > &  a,
const tinymt_engine_status< UIntType2, WordSize, Mat12, Mat22, TMat2 > &  b 
)
inline

◆ operator>>()

template<class CharT , class Traits , class UIntType , std::size_t WordSize, std::uintmax_t Mat1, std::uintmax_t Mat2, std::uintmax_t TMat, TINYMT_CPP_ENABLE_WHEN(!tinymt_engine_status< UIntType, WordSize, Mat1, Mat2, TMat >::is_dynamic::value) >
std::basic_istream< CharT, Traits > & tinymt::detail::operator>> ( std::basic_istream< CharT, Traits > &  is,
tinymt_engine_status< UIntType, WordSize, Mat1, Mat2, TMat > &  s 
)
inline

Variable Documentation

◆ tinymt32_default_param_mat1

constexpr uint_least32_t tinymt::detail::tinymt32_default_param_mat1 = 0x8f7011eeU

Default parameter mat1 of TinyMT32 specified in RFC 8682.

◆ tinymt32_default_param_mat2

constexpr uint_least32_t tinymt::detail::tinymt32_default_param_mat2 = 0xfc78ff1fU

Default parameter mat2 of TinyMT32 specified in RFC 8682.

◆ tinymt32_default_param_tmat

constexpr uint_least32_t tinymt::detail::tinymt32_default_param_tmat = 0x3793fdffU

Default parameter tmat of TinyMT32 specified in RFC 8682.