Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
absl::random_internal::pcg_engine< Params, Mix > Class Template Reference

#include <pcg_engine.h>

Public Types

using result_type = typename Mix::result_type
 
using result_type = typename Mix::result_type
 

Public Member Functions

void discard (uint64_t count)
 
void discard (uint64_t count)
 
bool operator!= (const pcg_engine &other) const
 
bool operator!= (const pcg_engine &other) const
 
result_type operator() ()
 
result_type operator() ()
 
pcg_engineoperator= (const pcg_engine &)=default
 
pcg_engineoperator= (const pcg_engine &)=default
 
pcg_engineoperator= (pcg_engine &&)=default
 
pcg_engineoperator= (pcg_engine &&)=default
 
bool operator== (const pcg_engine &other) const
 
bool operator== (const pcg_engine &other) const
 
 pcg_engine (const pcg_engine &)=default
 
 pcg_engine (const pcg_engine &)=default
 
 pcg_engine (pcg_engine &&)=default
 
 pcg_engine (pcg_engine &&)=default
 
template<class SeedSequence , typename = typename absl::enable_if_t< !std::is_same<SeedSequence, pcg_engine>::value>>
 pcg_engine (SeedSequence &&seq)
 
template<class SeedSequence , typename = typename absl::enable_if_t< !std::is_same<SeedSequence, pcg_engine>::value>>
 pcg_engine (SeedSequence &&seq)
 
 pcg_engine (uint64_t seed_value=0)
 
 pcg_engine (uint64_t seed_value=0)
 
template<class SeedSequence >
absl::enable_if_t< !std::is_convertible< SeedSequence, uint64_t >::value, void > seed (SeedSequence &&seq)
 
template<class SeedSequence >
absl::enable_if_t< !std::is_convertible< SeedSequence, uint64_t >::value, void > seed (SeedSequence &&seq)
 
void seed (uint64_t seed_value=0)
 
void seed (uint64_t seed_value=0)
 

Static Public Member Functions

static constexpr result_type() max ()
 
static constexpr result_type() max ()
 
static constexpr result_type() min ()
 
static constexpr result_type() min ()
 

Private Types

using mix_type = Mix
 
using mix_type = Mix
 
using params_type = Params
 
using params_type = Params
 
using state_type = typename Mix::state_type
 
using state_type = typename Mix::state_type
 

Private Member Functions

state_type advance (state_type s, uint64_t n) const
 
state_type advance (state_type s, uint64_t n) const
 
template<class SeedSequence >
void reseed (SeedSequence &seq)
 
template<class SeedSequence >
void reseed (SeedSequence &seq)
 

Static Private Member Functions

static constexpr state_type lcg (state_type s)
 
static constexpr state_type lcg (state_type s)
 

Private Attributes

state_type state_
 

Friends

template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type)==16), std::basic_ostream< CharT, Traits > & > operator<< (std::basic_ostream< CharT, Traits > &os, const pcg_engine &engine)
 
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type)==16), std::basic_ostream< CharT, Traits > & > operator<< (std::basic_ostream< CharT, Traits > &os, const pcg_engine &engine)
 
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type)<=8), std::basic_ostream< CharT, Traits > & > operator<< (std::basic_ostream< CharT, Traits > &os, const pcg_engine &engine)
 
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type)<=8), std::basic_ostream< CharT, Traits > & > operator<< (std::basic_ostream< CharT, Traits > &os, const pcg_engine &engine)
 
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type)==16), std::basic_istream< CharT, Traits > & > operator>> (std::basic_istream< CharT, Traits > &is, pcg_engine &engine)
 
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type)==16), std::basic_istream< CharT, Traits > & > operator>> (std::basic_istream< CharT, Traits > &is, pcg_engine &engine)
 
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type)<=8), std::basic_istream< CharT, Traits > & > operator>> (std::basic_istream< CharT, Traits > &is, pcg_engine &engine)
 
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type)<=8), std::basic_istream< CharT, Traits > & > operator>> (std::basic_istream< CharT, Traits > &is, pcg_engine &engine)
 

Detailed Description

template<typename Params, typename Mix>
class absl::random_internal::pcg_engine< Params, Mix >

Definition at line 41 of file abseil-cpp/absl/random/internal/pcg_engine.h.

Member Typedef Documentation

◆ mix_type [1/2]

template<typename Params , typename Mix >
using absl::random_internal::pcg_engine< Params, Mix >::mix_type = Mix
private

Definition at line 52 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ mix_type [2/2]

template<typename Params , typename Mix >
using absl::random_internal::pcg_engine< Params, Mix >::mix_type = Mix
private

◆ params_type [1/2]

template<typename Params , typename Mix >
using absl::random_internal::pcg_engine< Params, Mix >::params_type = Params
private

Definition at line 51 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ params_type [2/2]

template<typename Params , typename Mix >
using absl::random_internal::pcg_engine< Params, Mix >::params_type = Params
private

◆ result_type [1/2]

template<typename Params , typename Mix >
using absl::random_internal::pcg_engine< Params, Mix >::result_type = typename Mix::result_type

Definition at line 57 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ result_type [2/2]

template<typename Params , typename Mix >
using absl::random_internal::pcg_engine< Params, Mix >::result_type = typename Mix::result_type

◆ state_type [1/2]

template<typename Params , typename Mix >
using absl::random_internal::pcg_engine< Params, Mix >::state_type = typename Mix::state_type
private

Definition at line 53 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ state_type [2/2]

template<typename Params , typename Mix >
using absl::random_internal::pcg_engine< Params, Mix >::state_type = typename Mix::state_type
private

Constructor & Destructor Documentation

◆ pcg_engine() [1/8]

template<typename Params , typename Mix >
absl::random_internal::pcg_engine< Params, Mix >::pcg_engine ( uint64_t  seed_value = 0)
inlineexplicit

Definition at line 67 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ pcg_engine() [2/8]

template<typename Params , typename Mix >
template<class SeedSequence , typename = typename absl::enable_if_t< !std::is_same<SeedSequence, pcg_engine>::value>>
absl::random_internal::pcg_engine< Params, Mix >::pcg_engine ( SeedSequence &&  seq)
inlineexplicit

Definition at line 72 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ pcg_engine() [3/8]

template<typename Params , typename Mix >
absl::random_internal::pcg_engine< Params, Mix >::pcg_engine ( const pcg_engine< Params, Mix > &  )
default

◆ pcg_engine() [4/8]

template<typename Params , typename Mix >
absl::random_internal::pcg_engine< Params, Mix >::pcg_engine ( pcg_engine< Params, Mix > &&  )
default

◆ pcg_engine() [5/8]

template<typename Params , typename Mix >
absl::random_internal::pcg_engine< Params, Mix >::pcg_engine ( uint64_t  seed_value = 0)
inlineexplicit

◆ pcg_engine() [6/8]

template<typename Params , typename Mix >
template<class SeedSequence , typename = typename absl::enable_if_t< !std::is_same<SeedSequence, pcg_engine>::value>>
absl::random_internal::pcg_engine< Params, Mix >::pcg_engine ( SeedSequence &&  seq)
inlineexplicit

◆ pcg_engine() [7/8]

template<typename Params , typename Mix >
absl::random_internal::pcg_engine< Params, Mix >::pcg_engine ( const pcg_engine< Params, Mix > &  )
default

◆ pcg_engine() [8/8]

template<typename Params , typename Mix >
absl::random_internal::pcg_engine< Params, Mix >::pcg_engine ( pcg_engine< Params, Mix > &&  )
default

Member Function Documentation

◆ advance() [1/2]

template<typename Params , typename Mix >
state_type absl::random_internal::pcg_engine< Params, Mix >::advance ( state_type  s,
uint64_t  n 
) const
inlineprivate

◆ advance() [2/2]

template<typename Params , typename Mix >
state_type absl::random_internal::pcg_engine< Params, Mix >::advance ( state_type  s,
uint64_t  n 
) const
inlineprivate

◆ discard() [1/2]

template<typename Params , typename Mix >
void absl::random_internal::pcg_engine< Params, Mix >::discard ( uint64_t  count)
inline

◆ discard() [2/2]

template<typename Params , typename Mix >
void absl::random_internal::pcg_engine< Params, Mix >::discard ( uint64_t  count)
inline

Definition at line 99 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ lcg() [1/2]

template<typename Params , typename Mix >
static constexpr state_type absl::random_internal::pcg_engine< Params, Mix >::lcg ( state_type  s)
inlinestaticconstexprprivate

◆ lcg() [2/2]

template<typename Params , typename Mix >
static constexpr state_type absl::random_internal::pcg_engine< Params, Mix >::lcg ( state_type  s)
inlinestaticconstexprprivate

◆ max() [1/2]

template<typename Params , typename Mix >
static constexpr result_type() absl::random_internal::pcg_engine< Params, Mix >::max ( )
inlinestaticconstexpr

Definition at line 63 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ max() [2/2]

template<typename Params , typename Mix >
static constexpr result_type() absl::random_internal::pcg_engine< Params, Mix >::max ( )
inlinestaticconstexpr

◆ min() [1/2]

template<typename Params , typename Mix >
static constexpr result_type() absl::random_internal::pcg_engine< Params, Mix >::min ( )
inlinestaticconstexpr

Definition at line 59 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ min() [2/2]

template<typename Params , typename Mix >
static constexpr result_type() absl::random_internal::pcg_engine< Params, Mix >::min ( )
inlinestaticconstexpr

◆ operator!=() [1/2]

template<typename Params , typename Mix >
bool absl::random_internal::pcg_engine< Params, Mix >::operator!= ( const pcg_engine< Params, Mix > &  other) const
inline

◆ operator!=() [2/2]

template<typename Params , typename Mix >
bool absl::random_internal::pcg_engine< Params, Mix >::operator!= ( const pcg_engine< Params, Mix > &  other) const
inline

◆ operator()() [1/2]

template<typename Params , typename Mix >
result_type absl::random_internal::pcg_engine< Params, Mix >::operator() ( )
inline

◆ operator()() [2/2]

template<typename Params , typename Mix >
result_type absl::random_internal::pcg_engine< Params, Mix >::operator() ( )
inline

Definition at line 81 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ operator=() [1/4]

template<typename Params , typename Mix >
pcg_engine& absl::random_internal::pcg_engine< Params, Mix >::operator= ( const pcg_engine< Params, Mix > &  )
default

◆ operator=() [2/4]

template<typename Params , typename Mix >
pcg_engine& absl::random_internal::pcg_engine< Params, Mix >::operator= ( const pcg_engine< Params, Mix > &  )
default

◆ operator=() [3/4]

template<typename Params , typename Mix >
pcg_engine& absl::random_internal::pcg_engine< Params, Mix >::operator= ( pcg_engine< Params, Mix > &&  )
default

◆ operator=() [4/4]

template<typename Params , typename Mix >
pcg_engine& absl::random_internal::pcg_engine< Params, Mix >::operator= ( pcg_engine< Params, Mix > &&  )
default

◆ operator==() [1/2]

template<typename Params , typename Mix >
bool absl::random_internal::pcg_engine< Params, Mix >::operator== ( const pcg_engine< Params, Mix > &  other) const
inline

◆ operator==() [2/2]

template<typename Params , typename Mix >
bool absl::random_internal::pcg_engine< Params, Mix >::operator== ( const pcg_engine< Params, Mix > &  other) const
inline

◆ reseed() [1/2]

template<typename Params , typename Mix >
template<class SeedSequence >
void absl::random_internal::pcg_engine< Params, Mix >::reseed ( SeedSequence &  seq)
inlineprivate

◆ reseed() [2/2]

template<typename Params , typename Mix >
template<class SeedSequence >
void absl::random_internal::pcg_engine< Params, Mix >::reseed ( SeedSequence &  seq)
inlineprivate

◆ seed() [1/4]

template<typename Params , typename Mix >
template<class SeedSequence >
absl::enable_if_t< !std::is_convertible<SeedSequence, uint64_t>::value, void> absl::random_internal::pcg_engine< Params, Mix >::seed ( SeedSequence &&  seq)
inline

◆ seed() [2/4]

template<typename Params , typename Mix >
template<class SeedSequence >
absl::enable_if_t< !std::is_convertible<SeedSequence, uint64_t>::value, void> absl::random_internal::pcg_engine< Params, Mix >::seed ( SeedSequence &&  seq)
inline

Definition at line 95 of file abseil-cpp/absl/random/internal/pcg_engine.h.

◆ seed() [3/4]

template<typename Params , typename Mix >
void absl::random_internal::pcg_engine< Params, Mix >::seed ( uint64_t  seed_value = 0)
inline

◆ seed() [4/4]

template<typename Params , typename Mix >
void absl::random_internal::pcg_engine< Params, Mix >::seed ( uint64_t  seed_value = 0)
inline

Definition at line 87 of file abseil-cpp/absl/random/internal/pcg_engine.h.

Friends And Related Function Documentation

◆ operator<< [1/4]

template<typename Params , typename Mix >
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type) == 16), std::basic_ostream<CharT, Traits>&> operator<< ( std::basic_ostream< CharT, Traits > &  os,
const pcg_engine< Params, Mix > &  engine 
)
friend

◆ operator<< [2/4]

template<typename Params , typename Mix >
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type) == 16), std::basic_ostream<CharT, Traits>&> operator<< ( std::basic_ostream< CharT, Traits > &  os,
const pcg_engine< Params, Mix > &  engine 
)
friend

◆ operator<< [3/4]

template<typename Params , typename Mix >
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type) <= 8), std::basic_ostream<CharT, Traits>&> operator<< ( std::basic_ostream< CharT, Traits > &  os,
const pcg_engine< Params, Mix > &  engine 
)
friend

◆ operator<< [4/4]

template<typename Params , typename Mix >
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type) <= 8), std::basic_ostream<CharT, Traits>&> operator<< ( std::basic_ostream< CharT, Traits > &  os,
const pcg_engine< Params, Mix > &  engine 
)
friend

◆ operator>> [1/4]

template<typename Params , typename Mix >
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type) == 16), std::basic_istream<CharT, Traits>&> operator>> ( std::basic_istream< CharT, Traits > &  is,
pcg_engine< Params, Mix > &  engine 
)
friend

◆ operator>> [2/4]

template<typename Params , typename Mix >
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type) == 16), std::basic_istream<CharT, Traits>&> operator>> ( std::basic_istream< CharT, Traits > &  is,
pcg_engine< Params, Mix > &  engine 
)
friend

◆ operator>> [3/4]

template<typename Params , typename Mix >
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type) <= 8), std::basic_istream<CharT, Traits>&> operator>> ( std::basic_istream< CharT, Traits > &  is,
pcg_engine< Params, Mix > &  engine 
)
friend

◆ operator>> [4/4]

template<typename Params , typename Mix >
template<class CharT , class Traits >
absl::enable_if_t<(sizeof(state_type) <= 8), std::basic_istream<CharT, Traits>&> operator>> ( std::basic_istream< CharT, Traits > &  is,
pcg_engine< Params, Mix > &  engine 
)
friend

Member Data Documentation

◆ state_

template<typename Params , typename Mix >
state_type absl::random_internal::pcg_engine< Params, Mix >::state_
private

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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:02:55