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

Philox RNG generator. More...

#include <vsmc/rng/philox.hpp>

Public Types

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

Public Member Functions

void operator() (ctr_type &ctr, const key_type &key, ctr_type &buffer) const
 
void operator() (ctr_type &ctr, const key_type &key, std::size_t n, ctr_type *buffer) 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 = 10>
class vsmc::PhiloxGenerator< ResultType, K, Rounds >

Philox RNG generator.

Definition at line 240 of file philox.hpp.

Member Typedef Documentation

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

Definition at line 256 of file philox.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 10>
using vsmc::PhiloxGenerator< ResultType, K, Rounds >::key_type = std::array<ResultType, K / 2>

Definition at line 257 of file philox.hpp.

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

Definition at line 255 of file philox.hpp.

Member Function Documentation

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 10>
void vsmc::PhiloxGenerator< ResultType, K, Rounds >::operator() ( ctr_type ctr,
const key_type key,
ctr_type buffer 
) const
inline

Definition at line 263 of file philox.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 10>
void vsmc::PhiloxGenerator< ResultType, K, Rounds >::operator() ( ctr_type ctr,
const key_type key,
std::size_t  n,
ctr_type buffer 
) const
inline

Definition at line 271 of file philox.hpp.

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

Definition at line 261 of file philox.hpp.

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

Definition at line 259 of file philox.hpp.