cMHN 1.2
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
pRC::Threefry< Rounds, U > Class Template Reference

#include <threefry.hpp>

Inheritance diagram for pRC::Threefry< Rounds, U >:
pRC::RandomEngine< Threefry< Rounds, Seed > > pRC::CRTP< Threefry< Rounds, Seed > >

Public Types

using Type = U
 
- Public Types inherited from pRC::CRTP< Threefry< Rounds, Seed > >
using Derived
 

Public Member Functions

 ~Threefry ()=default
 
constexpr Threefry (Threefry &&)=default
 
constexpr Threefryoperator= (Threefry const &) &=default
 
constexpr Threefryoperator= (Threefry &&) &=default
 
constexpr Threefry (Threefry const &)=default
 
 Threefry ()
 
template<Size S>
 Threefry (SeedSequence< S > const &seq)
 
constexpr void seed ()
 
template<Size S>
constexpr void seed (SeedSequence< S > const &seq)
 
constexpr U operator() ()
 
constexpr void discard (std::uint64_t z)
 
constexpr void advance (std::uint64_t const z)
 
constexpr auto operator== (const Threefry &rhs)
 
constexpr auto operator!= (const Threefry &rhs)
 
- Public Member Functions inherited from pRC::RandomEngine< Threefry< Rounds, Seed > >
constexpr decltype(auto) seed ()
 
constexpr decltype(auto) seed (SeedSequence< S > const &seq)
 
constexpr decltype(auto) operator() ()
 
constexpr decltype(auto) discard (std::uint64_t z)
 
- Public Member Functions inherited from pRC::CRTP< Threefry< Rounds, Seed > >
constexpr operator Threefry< Rounds, Seed > () const
 
constexpr decltype(auto) self () &
 
constexpr decltype(auto) self () const &
 

Static Public Member Functions

static constexpr auto min ()
 
static constexpr auto max ()
 
static constexpr auto samplesPerBlock ()
 
- Static Public Member Functions inherited from pRC::RandomEngine< Threefry< Rounds, Seed > >
static constexpr decltype(auto) min ()
 
static constexpr decltype(auto) max ()
 

Additional Inherited Members

- Protected Member Functions inherited from pRC::RandomEngine< Threefry< Rounds, Seed > >
 ~RandomEngine ()=default
 
constexpr RandomEngine (RandomEngine const &)=default
 
constexpr RandomEngine (RandomEngine &&)=default
 
constexpr RandomEngine ()=default
 
constexpr RandomEngineoperator= (RandomEngine const &)=default
 
constexpr RandomEngineoperator= (RandomEngine &&)=default
 
- Protected Member Functions inherited from pRC::CRTP< Threefry< Rounds, Seed > >
 ~CRTP ()=default
 
constexpr CRTP (CRTP const &)=default
 
constexpr CRTP (CRTP &&)=default
 
constexpr CRTP ()=default
 
constexpr CRTPoperator= (CRTP const &) &=default
 
constexpr CRTPoperator= (CRTP &&) &=default
 

Member Typedef Documentation

◆ Type

template<Size Rounds, class U = Seed>
using pRC::Threefry< Rounds, U >::Type = U

Constructor & Destructor Documentation

◆ ~Threefry()

template<Size Rounds, class U = Seed>
pRC::Threefry< Rounds, U >::~Threefry ( )
default

◆ Threefry() [1/4]

template<Size Rounds, class U = Seed>
pRC::Threefry< Rounds, U >::Threefry ( Threefry< Rounds, U > && )
constexprdefault

◆ Threefry() [2/4]

template<Size Rounds, class U = Seed>
pRC::Threefry< Rounds, U >::Threefry ( Threefry< Rounds, U > const & )
constexprdefault

◆ Threefry() [3/4]

template<Size Rounds, class U = Seed>
pRC::Threefry< Rounds, U >::Threefry ( )
inline

◆ Threefry() [4/4]

template<Size Rounds, class U = Seed>
template<Size S>
pRC::Threefry< Rounds, U >::Threefry ( SeedSequence< S > const & seq)
inline

Member Function Documentation

◆ advance()

template<Size Rounds, class U = Seed>
void pRC::Threefry< Rounds, U >::advance ( std::uint64_t const z)
inlineconstexpr

◆ discard()

template<Size Rounds, class U = Seed>
void pRC::Threefry< Rounds, U >::discard ( std::uint64_t z)
inlineconstexpr

◆ max()

template<Size Rounds, class U = Seed>
static constexpr auto pRC::Threefry< Rounds, U >::max ( )
inlinestaticconstexpr

◆ min()

template<Size Rounds, class U = Seed>
static constexpr auto pRC::Threefry< Rounds, U >::min ( )
inlinestaticconstexpr

◆ operator!=()

template<Size Rounds, class U = Seed>
auto pRC::Threefry< Rounds, U >::operator!= ( const Threefry< Rounds, U > & rhs)
inlineconstexpr

◆ operator()()

template<Size Rounds, class U = Seed>
U pRC::Threefry< Rounds, U >::operator() ( )
inlineconstexpr

◆ operator=() [1/2]

template<Size Rounds, class U = Seed>
Threefry & pRC::Threefry< Rounds, U >::operator= ( Threefry< Rounds, U > && ) &
constexprdefault

◆ operator=() [2/2]

template<Size Rounds, class U = Seed>
Threefry & pRC::Threefry< Rounds, U >::operator= ( Threefry< Rounds, U > const & ) &
constexprdefault

◆ operator==()

template<Size Rounds, class U = Seed>
auto pRC::Threefry< Rounds, U >::operator== ( const Threefry< Rounds, U > & rhs)
inlineconstexpr

◆ samplesPerBlock()

template<Size Rounds, class U = Seed>
static constexpr auto pRC::Threefry< Rounds, U >::samplesPerBlock ( )
inlinestaticconstexpr

◆ seed() [1/2]

template<Size Rounds, class U = Seed>
void pRC::Threefry< Rounds, U >::seed ( )
inlineconstexpr

◆ seed() [2/2]

template<Size Rounds, class U = Seed>
template<Size S>
void pRC::Threefry< Rounds, U >::seed ( SeedSequence< S > const & seq)
inlineconstexpr

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