hops
|
#include <pcg_random.hpp>
Classes | |
struct | can_specify_stream_tag |
struct | no_specifiable_stream_tag |
Public Types | |
typedef xtype | result_type |
typedef itype | state_type |
![]() | |
typedef itype | state_type |
Public Member Functions | |
result_type | operator() () |
result_type | operator() (result_type upper_bound) |
void | advance (itype delta) |
void | backstep (itype delta) |
void | discard (itype delta) |
bool | wrapped () |
engine (itype state=itype(0xcafef00dd15ea5e5ULL)) | |
template<typename sm = stream_mixin> | |
engine (itype state, typename sm::stream_state stream_seed) | |
template<typename SeedSeq > | |
engine (SeedSeq &&seedSeq, typename std::enable_if< !stream_mixin::can_specify_stream &&!std::is_convertible< SeedSeq, itype >::value &&!std::is_convertible< SeedSeq, engine >::value, no_specifiable_stream_tag >::type={}) | |
template<typename SeedSeq > | |
engine (SeedSeq &&seedSeq, typename std::enable_if< stream_mixin::can_specify_stream &&!std::is_convertible< SeedSeq, itype >::value &&!std::is_convertible< SeedSeq, engine >::value, can_specify_stream_tag >::type={}) | |
template<typename... Args> | |
void | seed (Args &&... args) |
Static Public Member Functions | |
static constexpr size_t | period_pow2 () |
static constexpr result_type | min () |
static constexpr result_type | max () |
![]() | |
static constexpr itype | stream () |
static constexpr size_t | streams_pow2 () |
Protected Member Functions | |
itype | bump (itype state) |
itype | base_generate () |
itype | base_generate0 () |
itype | distance (itype newstate, itype mask=itype(~itype(0U))) const |
![]() | |
void | set_stream (...) |
constexpr | oneseq_stream ()=default |
Static Protected Member Functions | |
static itype | advance (itype state, itype delta, itype cur_mult, itype cur_plus) |
static itype | distance (itype cur_state, itype newstate, itype cur_mult, itype cur_plus, itype mask=~itype(0U)) |
Protected Attributes | |
itype | state_ |
Friends | |
template<typename xtype1 , typename itype1 , typename output_mixin1 , bool output_previous1, typename stream_mixin_lhs , typename multiplier_mixin_lhs , typename stream_mixin_rhs , typename multiplier_mixin_rhs > | |
bool | operator== (const engine< xtype1, itype1, output_mixin1, output_previous1, stream_mixin_lhs, multiplier_mixin_lhs > &, const engine< xtype1, itype1, output_mixin1, output_previous1, stream_mixin_rhs, multiplier_mixin_rhs > &) |
template<typename xtype1 , typename itype1 , typename output_mixin1 , bool output_previous1, typename stream_mixin_lhs , typename multiplier_mixin_lhs , typename stream_mixin_rhs , typename multiplier_mixin_rhs > | |
itype1 | operator- (const engine< xtype1, itype1, output_mixin1, output_previous1, stream_mixin_lhs, multiplier_mixin_lhs > &, const engine< xtype1, itype1, output_mixin1, output_previous1, stream_mixin_rhs, multiplier_mixin_rhs > &) |
template<typename CharT , typename Traits , typename xtype1 , typename itype1 , typename output_mixin1 , bool output_previous1, typename stream_mixin1 , typename multiplier_mixin1 > | |
std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &out, const engine< xtype1, itype1, output_mixin1, output_previous1, stream_mixin1, multiplier_mixin1 > &) |
template<typename CharT , typename Traits , typename xtype1 , typename itype1 , typename output_mixin1 , bool output_previous1, typename stream_mixin1 , typename multiplier_mixin1 > | |
std::basic_istream< CharT, Traits > & | operator>> (std::basic_istream< CharT, Traits > &in, engine< xtype1, itype1, output_mixin1, output_previous1, stream_mixin1, multiplier_mixin1 > &rng) |
Additional Inherited Members | |
![]() | |
static constexpr bool | can_specify_stream = false |
![]() | |
static constexpr bool | is_mcg = false |
typedef xtype pcg_detail::engine< xtype, itype, output_mixin, output_previous, stream_mixin, multiplier_mixin >::result_type |
typedef itype pcg_detail::engine< xtype, itype, output_mixin, output_previous, stream_mixin, multiplier_mixin >::state_type |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticprotected |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
staticprotected |
|
inlineprotected |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inline |
|
inline |
|
inlinestaticconstexpr |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |