vSMC
vSMC: Scalable Monte Carlo
Public Types | Public Member Functions | Static Public Member Functions | List of all members
vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds > Class Template Reference

Threefry RNG generator. More...

#include <vsmc/rng/threefry.hpp>

Public Types

using ctr_type = std::array< ResultType, K >
 
using key_type = std::array< ResultType, K >
 
using result_type = ResultType
 

Public Member Functions

 ThreefryGeneratorGeneric ()
 
void operator() (ctr_type &ctr, const key_type &key, std::array< result_type, K > &buffer) const
 
std::size_t operator() (ctr_type &ctr, const key_type &key, std::size_t n, result_type *r) const
 
void reset (const key_type &)
 

Static Public Member Functions

static constexpr std::size_t size ()
 

Detailed Description

template<typename ResultType, std::size_t K = 4, std::size_t Rounds = 20>
class vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds >

Threefry RNG generator.

Definition at line 322 of file threefry.hpp.

Member Typedef Documentation

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds >::ctr_type = std::array<ResultType, K>

Definition at line 326 of file threefry.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds >::key_type = std::array<ResultType, K>

Definition at line 327 of file threefry.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds >::result_type = ResultType

Definition at line 325 of file threefry.hpp.

Constructor & Destructor Documentation

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds >::ThreefryGeneratorGeneric ( )
inline

Definition at line 329 of file threefry.hpp.

Member Function Documentation

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
void vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds >::operator() ( ctr_type ctr,
const key_type key,
std::array< result_type, K > &  buffer 
) const
inline

Definition at line 335 of file threefry.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
std::size_t vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds >::operator() ( ctr_type ctr,
const key_type key,
std::size_t  n,
result_type r 
) const
inline

Definition at line 345 of file threefry.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
void vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds >::reset ( const key_type )
inline

Definition at line 333 of file threefry.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
static constexpr std::size_t vsmc::ThreefryGeneratorGeneric< ResultType, K, Rounds >::size ( )
inlinestatic

Definition at line 331 of file threefry.hpp.