hops
Classes | Typedefs | Functions | Variables
pcg_detail Namespace Reference

Classes

struct  default_increment
 
struct  default_multiplier
 
class  engine
 
class  extended
 
struct  halfsize_trait
 
struct  halfsize_trait< pcg128_t >
 
struct  halfsize_trait< uint16_t >
 
struct  halfsize_trait< uint32_t >
 
struct  halfsize_trait< uint64_t >
 
struct  inside_out
 
struct  mcg_multiplier
 
struct  mcg_unmultiplier
 
class  no_stream
 
class  oneseq_stream
 
struct  rxs_m_mixin
 
struct  rxs_m_xs_mixin
 
struct  rxs_mixin
 
class  specific_stream
 
struct  xsh_mixin
 
struct  xsh_rr_mixin
 
struct  xsh_rs_mixin
 
struct  xsl_mixin
 
struct  xsl_rr_mixin
 
struct  xsl_rr_rr_mixin
 

Typedefs

template<typename xtype , typename itype , template< typename XT, typename IT > class output_mixin, bool output_previous = (sizeof(itype) <= 8)>
using oneseq_base = engine< xtype, itype, output_mixin< xtype, itype >, output_previous, oneseq_stream< itype > >
 
template<typename xtype , typename itype , template< typename XT, typename IT > class output_mixin, bool output_previous = (sizeof(itype) <= 8)>
using unique_base = engine< xtype, itype, output_mixin< xtype, itype >, output_previous, unique_stream< itype > >
 
template<typename xtype , typename itype , template< typename XT, typename IT > class output_mixin, bool output_previous = (sizeof(itype) <= 8)>
using setseq_base = engine< xtype, itype, output_mixin< xtype, itype >, output_previous, specific_stream< itype > >
 
template<typename xtype , typename itype , template< typename XT, typename IT > class output_mixin, bool output_previous = (sizeof(itype) <= 8)>
using mcg_base = engine< xtype, itype, output_mixin< xtype, itype >, output_previous, no_stream< itype > >
 

Functions

 PCG_DEFINE_CONSTANT (pcg128_t, default, multiplier, PCG_128BIT_CONSTANT(2549297995355413924ULL, 4865540595714422341ULL)) PCG_DEFINE_CONSTANT(pcg128_t
 
 PCG_128BIT_CONSTANT (6364136223846793005ULL, 1442695040888963407ULL)) template< typename itype > class unique_stream
 
template<typename CharT , typename Traits , typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin , typename multiplier_mixin >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &out, const engine< xtype, itype, output_mixin, output_previous, stream_mixin, multiplier_mixin > &rng)
 
template<typename CharT , typename Traits , typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin , typename multiplier_mixin >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &in, engine< xtype, itype, output_mixin, output_previous, stream_mixin, multiplier_mixin > &rng)
 
template<typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin_lhs , typename multiplier_mixin_lhs , typename stream_mixin_rhs , typename multiplier_mixin_rhs >
itype operator- (const engine< xtype, itype, output_mixin, output_previous, stream_mixin_lhs, multiplier_mixin_lhs > &lhs, const engine< xtype, itype, output_mixin, output_previous, stream_mixin_rhs, multiplier_mixin_rhs > &rhs)
 
template<typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin_lhs , typename multiplier_mixin_lhs , typename stream_mixin_rhs , typename multiplier_mixin_rhs >
bool operator== (const engine< xtype, itype, output_mixin, output_previous, stream_mixin_lhs, multiplier_mixin_lhs > &lhs, const engine< xtype, itype, output_mixin, output_previous, stream_mixin_rhs, multiplier_mixin_rhs > &rhs)
 
template<typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin_lhs , typename multiplier_mixin_lhs , typename stream_mixin_rhs , typename multiplier_mixin_rhs >
bool operator!= (const engine< xtype, itype, output_mixin, output_previous, stream_mixin_lhs, multiplier_mixin_lhs > &lhs, const engine< xtype, itype, output_mixin, output_previous, stream_mixin_rhs, multiplier_mixin_rhs > &rhs)
 
 PCG_DEFINE_CONSTANT (pcg128_t, mcg, multiplier, PCG_128BIT_CONSTANT(17766728186571221404ULL, 12605985483714917081ULL)) PCG_DEFINE_CONSTANT(pcg128_t
 
 PCG_128BIT_CONSTANT (14422606686972528997ULL, 15009553638781119849ULL)) template< typename xtype
 
template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd>
bool operator== (const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &lhs, const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &rhs)
 
template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd>
bool operator!= (const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &lhs, const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &rhs)
 
template<typename CharT , typename Traits , bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd>
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &out, const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &rng)
 
template<typename CharT , typename Traits , bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd>
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &in, extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &rng)
 

Variables

 default
 
 increment
 
 mcg
 
 unmultiplier
 

Typedef Documentation

◆ mcg_base

template<typename xtype , typename itype , template< typename XT, typename IT > class output_mixin, bool output_previous = (sizeof(itype) <= 8)>
using pcg_detail::mcg_base = typedef engine<xtype, itype, output_mixin<xtype, itype>, output_previous, no_stream<itype> >

◆ oneseq_base

template<typename xtype , typename itype , template< typename XT, typename IT > class output_mixin, bool output_previous = (sizeof(itype) <= 8)>
using pcg_detail::oneseq_base = typedef engine<xtype, itype, output_mixin<xtype, itype>, output_previous, oneseq_stream<itype> >

◆ setseq_base

template<typename xtype , typename itype , template< typename XT, typename IT > class output_mixin, bool output_previous = (sizeof(itype) <= 8)>
using pcg_detail::setseq_base = typedef engine<xtype, itype, output_mixin<xtype, itype>, output_previous, specific_stream<itype> >

◆ unique_base

template<typename xtype , typename itype , template< typename XT, typename IT > class output_mixin, bool output_previous = (sizeof(itype) <= 8)>
using pcg_detail::unique_base = typedef engine<xtype, itype, output_mixin<xtype, itype>, output_previous, unique_stream<itype> >

Function Documentation

◆ operator!=() [1/2]

template<typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin_lhs , typename multiplier_mixin_lhs , typename stream_mixin_rhs , typename multiplier_mixin_rhs >
bool pcg_detail::operator!= ( const engine< xtype, itype, output_mixin, output_previous, stream_mixin_lhs, multiplier_mixin_lhs > &  lhs,
const engine< xtype, itype, output_mixin, output_previous, stream_mixin_rhs, multiplier_mixin_rhs > &  rhs 
)
inline

◆ operator!=() [2/2]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd>
bool pcg_detail::operator!= ( const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &  lhs,
const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &  rhs 
)
inline

◆ operator-()

template<typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin_lhs , typename multiplier_mixin_lhs , typename stream_mixin_rhs , typename multiplier_mixin_rhs >
itype pcg_detail::operator- ( const engine< xtype, itype, output_mixin, output_previous, stream_mixin_lhs, multiplier_mixin_lhs > &  lhs,
const engine< xtype, itype, output_mixin, output_previous, stream_mixin_rhs, multiplier_mixin_rhs > &  rhs 
)

◆ operator<<() [1/2]

template<typename CharT , typename Traits , typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin , typename multiplier_mixin >
std::basic_ostream<CharT,Traits>& pcg_detail::operator<< ( std::basic_ostream< CharT, Traits > &  out,
const engine< xtype, itype, output_mixin, output_previous, stream_mixin, multiplier_mixin > &  rng 
)

◆ operator<<() [2/2]

template<typename CharT , typename Traits , bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd>
std::basic_ostream<CharT,Traits>& pcg_detail::operator<< ( std::basic_ostream< CharT, Traits > &  out,
const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &  rng 
)

◆ operator==() [1/2]

template<typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin_lhs , typename multiplier_mixin_lhs , typename stream_mixin_rhs , typename multiplier_mixin_rhs >
bool pcg_detail::operator== ( const engine< xtype, itype, output_mixin, output_previous, stream_mixin_lhs, multiplier_mixin_lhs > &  lhs,
const engine< xtype, itype, output_mixin, output_previous, stream_mixin_rhs, multiplier_mixin_rhs > &  rhs 
)

◆ operator==() [2/2]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd>
bool pcg_detail::operator== ( const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &  lhs,
const extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &  rhs 
)

◆ operator>>() [1/2]

template<typename CharT , typename Traits , typename xtype , typename itype , typename output_mixin , bool output_previous, typename stream_mixin , typename multiplier_mixin >
std::basic_istream<CharT,Traits>& pcg_detail::operator>> ( std::basic_istream< CharT, Traits > &  in,
engine< xtype, itype, output_mixin, output_previous, stream_mixin, multiplier_mixin > &  rng 
)

◆ operator>>() [2/2]

template<typename CharT , typename Traits , bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd>
std::basic_istream<CharT,Traits>& pcg_detail::operator>> ( std::basic_istream< CharT, Traits > &  in,
extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > &  rng 
)

◆ PCG_128BIT_CONSTANT() [1/2]

pcg_detail::PCG_128BIT_CONSTANT ( 14422606686972528997ULL  ,
15009553638781119849ULL   
)

◆ PCG_128BIT_CONSTANT() [2/2]

pcg_detail::PCG_128BIT_CONSTANT ( 6364136223846793005ULL  ,
1442695040888963407ULL   
)

◆ PCG_DEFINE_CONSTANT() [1/2]

pcg_detail::PCG_DEFINE_CONSTANT ( pcg128_t  ,
default  ,
multiplier  ,
PCG_128BIT_CONSTANT(2549297995355413924ULL, 4865540595714422341ULL)   
)

◆ PCG_DEFINE_CONSTANT() [2/2]

pcg_detail::PCG_DEFINE_CONSTANT ( pcg128_t  ,
mcg  ,
multiplier  ,
PCG_128BIT_CONSTANT(17766728186571221404ULL, 12605985483714917081ULL)   
)

Variable Documentation

◆ default

pcg_detail::default

◆ increment

pcg_detail::increment

◆ mcg

pcg_detail::mcg

◆ unmultiplier

pcg_detail::unmultiplier