vSMC
vSMC: Scalable Monte Carlo
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
vsmc::MKLEngine< BRNG, Bits > Class Template Reference

MKL RNG C++11 engine. More...

#include <vsmc/rng/internal/common.hpp>

Public Types

using result_type = internal::MKLResultType< Bits >
 

Public Member Functions

 MKLEngine (MKL_UINT s=1)
 
template<typename SeedSeq >
 MKLEngine (SeedSeq &seq, typename std::enable_if< internal::is_seed_seq< SeedSeq, MKL_UINT, MKLEngine< BRNG, Bits >>::value >::type *=nullptr)
 
 MKLEngine (MKL_UINT s, MKL_INT offset)
 
void discard (long long nskip)
 
result_type operator() ()
 
void operator() (std::size_t n, result_type *r)
 
void seed (MKL_UINT s)
 
template<typename SeedSeq >
void seed (SeedSeq &seq, typename std::enable_if< internal::is_seed_seq< SeedSeq, MKL_UINT >::value >::type *=nullptr)
 
void seed (MKL_UINT s, MKL_INT offset)
 
MKLStreamstream ()
 
const MKLStreamstream () const
 

Static Public Member Functions

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

Friends

bool operator!= (const MKLEngine< BRNG, Bits > &eng1, const MKLEngine< BRNG, Bits > &eng2)
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const MKLEngine< BRNG, Bits > &eng)
 
bool operator== (const MKLEngine< BRNG, Bits > &eng1, const MKLEngine< BRNG, Bits > &eng2)
 
template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, MKLEngine< BRNG, Bits > &eng)
 

Detailed Description

template<MKL_INT BRNG, int Bits>
class vsmc::MKLEngine< BRNG, Bits >

MKL RNG C++11 engine.

Definition at line 787 of file common.hpp.

Member Typedef Documentation

template<MKL_INT BRNG, int Bits>
using vsmc::MKLEngine< BRNG, Bits >::result_type = internal::MKLResultType<Bits>

Definition at line 214 of file mkl.hpp.

Constructor & Destructor Documentation

template<MKL_INT BRNG, int Bits>
vsmc::MKLEngine< BRNG, Bits >::MKLEngine ( MKL_UINT  s = 1)
inlineexplicit

Definition at line 216 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
template<typename SeedSeq >
vsmc::MKLEngine< BRNG, Bits >::MKLEngine ( SeedSeq &  seq,
typename std::enable_if< internal::is_seed_seq< SeedSeq, MKL_UINT, MKLEngine< BRNG, Bits >>::value >::type *  = nullptr 
)
inlineexplicit

Definition at line 222 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
vsmc::MKLEngine< BRNG, Bits >::MKLEngine ( MKL_UINT  s,
MKL_INT  offset 
)
inline

Definition at line 230 of file mkl.hpp.

Member Function Documentation

template<MKL_INT BRNG, int Bits>
void vsmc::MKLEngine< BRNG, Bits >::discard ( long long  nskip)
inline

Definition at line 295 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
static constexpr result_type vsmc::MKLEngine< BRNG, Bits >::max ( )
inlinestatic

Definition at line 306 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
static constexpr result_type vsmc::MKLEngine< BRNG, Bits >::min ( )
inlinestatic

Definition at line 301 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
result_type vsmc::MKLEngine< BRNG, Bits >::operator() ( )
inline

Definition at line 255 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::MKLEngine< BRNG, Bits >::operator() ( std::size_t  n,
result_type r 
)
inline

Definition at line 266 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::MKLEngine< BRNG, Bits >::seed ( MKL_UINT  s)
inline

Definition at line 235 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
template<typename SeedSeq >
void vsmc::MKLEngine< BRNG, Bits >::seed ( SeedSeq &  seq,
typename std::enable_if< internal::is_seed_seq< SeedSeq, MKL_UINT >::value >::type *  = nullptr 
)
inline

Definition at line 238 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::MKLEngine< BRNG, Bits >::seed ( MKL_UINT  s,
MKL_INT  offset 
)
inline

Definition at line 247 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
MKLStream& vsmc::MKLEngine< BRNG, Bits >::stream ( )
inline

Definition at line 311 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
const MKLStream& vsmc::MKLEngine< BRNG, Bits >::stream ( ) const
inline

Definition at line 312 of file mkl.hpp.

Friends And Related Function Documentation

template<MKL_INT BRNG, int Bits>
bool operator!= ( const MKLEngine< BRNG, Bits > &  eng1,
const MKLEngine< BRNG, Bits > &  eng2 
)
friend

Definition at line 333 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& operator<< ( std::basic_ostream< CharT, Traits > &  os,
const MKLEngine< BRNG, Bits > &  eng 
)
friend

Definition at line 340 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
bool operator== ( const MKLEngine< BRNG, Bits > &  eng1,
const MKLEngine< BRNG, Bits > &  eng2 
)
friend

Definition at line 314 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& operator>> ( std::basic_istream< CharT, Traits > &  is,
MKLEngine< BRNG, Bits > &  eng 
)
friend

Definition at line 363 of file mkl.hpp.