hops
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd > Class Template Reference

#include <pcg_random.hpp>

Inheritance diagram for pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >:
Inheritance graph
Collaboration diagram for pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >:
Collaboration graph

Public Types

typedef baseclass::state_type state_type
 
typedef baseclass::result_type result_type
 
typedef inside_out< extvalclass > insideout
 

Public Member Functions

PCG_ALWAYS_INLINE result_type operator() ()
 
result_type operator() (result_type upper_bound)
 
void set (result_type wanted)
 
void advance (state_type distance, bool forwards=true)
 
void backstep (state_type distance)
 
 extended (const result_type *data)
 
 extended (const result_type *data, state_type seed)
 
template<typename bc = baseclass>
 extended (const result_type *data, state_type seed, typename bc::stream_state stream_seed)
 
 extended ()
 
 extended (state_type seed)
 
template<typename bc = baseclass>
 extended (state_type seed, typename bc::stream_state stream_seed)
 
template<typename SeedSeq , typename = typename std::enable_if< !std::is_convertible<SeedSeq, result_type>::value && !std::is_convertible<SeedSeq, extended>::value>::type>
 extended (SeedSeq &&seedSeq)
 
template<typename... Args>
void seed (Args &&... args)
 

Static Public Member Functions

static constexpr size_t period_pow2 ()
 

Friends

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_ > &, const extended< table_pow2_, advance_pow2_, baseclass_, extvalclass_, kdd_ > &)
 
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_ > &)
 
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_ > &)
 

Member Typedef Documentation

◆ insideout

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
typedef inside_out<extvalclass> pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::insideout

◆ result_type

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
typedef baseclass::result_type pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::result_type

◆ state_type

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
typedef baseclass::state_type pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::state_type

Constructor & Destructor Documentation

◆ extended() [1/7]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::extended ( const result_type data)
inline

◆ extended() [2/7]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::extended ( const result_type data,
state_type  seed 
)
inline

◆ extended() [3/7]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
template<typename bc = baseclass>
pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::extended ( const result_type data,
state_type  seed,
typename bc::stream_state  stream_seed 
)
inline

◆ extended() [4/7]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::extended ( )
inline

◆ extended() [5/7]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::extended ( state_type  seed)
inline

◆ extended() [6/7]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
template<typename bc = baseclass>
pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::extended ( state_type  seed,
typename bc::stream_state  stream_seed 
)
inline

◆ extended() [7/7]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
template<typename SeedSeq , typename = typename std::enable_if< !std::is_convertible<SeedSeq, result_type>::value && !std::is_convertible<SeedSeq, extended>::value>::type>
pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::extended ( SeedSeq &&  seedSeq)
inline

Member Function Documentation

◆ advance()

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd>
void pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::advance ( state_type  distance,
bool  forwards = true 
)

◆ backstep()

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
void pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::backstep ( state_type  distance)
inline

◆ operator()() [1/2]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
PCG_ALWAYS_INLINE result_type pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::operator() ( )
inline

◆ operator()() [2/2]

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
result_type pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::operator() ( result_type  upper_bound)
inline

◆ period_pow2()

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
static constexpr size_t pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::period_pow2 ( )
inlinestaticconstexpr

◆ seed()

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
template<typename... Args>
void pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::seed ( Args &&...  args)
inline

◆ set()

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
void pcg_detail::extended< table_pow2, advance_pow2, baseclass, extvalclass, kdd >::set ( result_type  wanted)
inline

Friends And Related Function Documentation

◆ operator<<

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
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_ > &   
)
friend

◆ operator==

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
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_ > &  ,
const extended< table_pow2_, advance_pow2_, baseclass_, extvalclass_, kdd_ > &   
)
friend

◆ operator>>

template<bitcount_t table_pow2, bitcount_t advance_pow2, typename baseclass , typename extvalclass , bool kdd = true>
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_ > &   
)
friend

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