vSMC  v3.0.0
Scalable Monte Carlo
Classes | Namespaces | Macros | Typedefs | Functions
mkl.hpp File Reference
#include <vsmc/rng/internal/common.hpp>
#include <vsmc/rng/uniform_real_distribution.hpp>

Go to the source code of this file.

Classes

class  vsmc::internal::MKLMaxOffset< BRNG >
 
class  vsmc::internal::MKLMaxOffset< VSL_BRNG_MT2203 >
 
class  vsmc::internal::MKLMaxOffset< VSL_BRNG_WH >
 
class  vsmc::internal::MKLOffset< BRNG, MaxOffset >
 
class  vsmc::internal::MKLOffset< BRNG, 0 >
 
class  vsmc::internal::MKLResultTypeTrait< int >
 
class  vsmc::internal::MKLResultTypeTrait< 32 >
 
class  vsmc::internal::MKLResultTypeTrait< 64 >
 
class  vsmc::internal::MKLStreamState< RNGType >
 
class  vsmc::internal::MKLUniformBits< int >
 
class  vsmc::internal::MKLUniformBits< 32 >
 
class  vsmc::internal::MKLUniformBits< 64 >
 
class  vsmc::MKLEngine< BRNG, Bits >
 MKL RNG C++11 engine. More...
 
class  vsmc::MKLStream
 MKL VSLStreamStatePtr wrapper. More...
 

Namespaces

 vsmc
 
 vsmc::internal
 

Macros

#define VSMC_RUNTIME_ASSERT_RNG_MKL_DISCARD
 
#define VSMC_RUNTIME_WARNING_RNG_MKL_OFFSET
 

Typedefs

using vsmc::MKL_MCG59 = MKLEngine< VSL_BRNG_MCG59, 32 >
 A 59-bit multiplicative congruential generator. More...
 
using vsmc::MKL_MCG59_64 = MKLEngine< VSL_BRNG_MCG59, 64 >
 A 59-bit multiplicative congruential generator (64-bit) More...
 
using vsmc::MKL_MT19937 = MKLEngine< VSL_BRNG_MT19937, 32 >
 A Mersenne-Twister pseudoranom number genertor. More...
 
using vsmc::MKL_MT19937_64 = MKLEngine< VSL_BRNG_MT19937, 64 >
 A Mersenne-Twister pseudoranom number genertor (64-bit) More...
 
using vsmc::MKL_MT2203 = MKLEngine< VSL_BRNG_MT2203, 32 >
 A set of 6024 Mersenne-Twister pseudoranom number genertor. More...
 
using vsmc::MKL_MT2203_64 = MKLEngine< VSL_BRNG_MT2203, 64 >
 A set of 6024 Mersenne-Twister pseudoranom number genertor (64-bit) More...
 
using vsmc::MKL_NONDETERM = MKLEngine< VSL_BRNG_NONDETERM, 32 >
 A non-determinstic random number generator. More...
 
using vsmc::MKL_NONDETERM_64 = MKLEngine< VSL_BRNG_NONDETERM, 64 >
 A non-determinstic random number generator (64-bit) More...
 
using vsmc::MKL_SFMT19937 = MKLEngine< VSL_BRNG_SFMT19937, 32 >
 A SIMD-oriented fast Mersenne-Twister pseudoranom number genertor. More...
 
using vsmc::MKL_SFMT19937_64 = MKLEngine< VSL_BRNG_SFMT19937, 64 >
 A SIMD-oriented fast Mersenne-Twister pseudoranom number genertor (64-bit) More...
 
template<int Bits>
using vsmc::internal::MKLResultType = typename MKLResultTypeTrait< Bits >::type
 

Functions

template<MKL_INT BRNG, int Bits>
void vsmc::beta_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::beta_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<MKL_INT BRNG, int Bits>
void vsmc::cauchy_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::cauchy_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<MKL_INT BRNG, int Bits>
void vsmc::exponential_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::exponential_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double)
 
template<MKL_INT BRNG, int Bits>
void vsmc::extreme_value_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::extreme_value_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<MKL_INT BRNG, int Bits>
void vsmc::gamma_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::gamma_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<MKL_INT BRNG, int Bits>
void vsmc::laplace_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::laplace_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<MKL_INT BRNG, int Bits>
void vsmc::lognormal_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::lognormal_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<typename RNGType >
int vsmc::mkl_brng ()
 Register a C++11 RNG as MKL BRNG. More...
 
int vsmc::internal::mkl_error_check (int status, const char *cpp, const char *c)
 
template<typename RNGType >
int vsmc::internal::mkl_init (RNGType &rng, int n, const unsigned *param, std::false_type)
 
template<typename RNGType >
int vsmc::internal::mkl_init (RNGType &rng, int n, const unsigned *param, std::true_type)
 
template<typename RNGType >
int vsmc::internal::mkl_init (int method,::VSLStreamStatePtr stream, int n, const unsigned *param)
 
template<typename RNGType >
constexpr int vsmc::internal::mkl_nseeds (std::false_type)
 
template<typename RNGType >
constexpr int vsmc::internal::mkl_nseeds (std::true_type)
 
template<typename RNGType >
constexpr int vsmc::internal::mkl_nseeds ()
 
template<typename RNGType >
int vsmc::internal::mkl_uniform_int (::VSLStreamStatePtr stream, int n, unsigned *r)
 
template<typename RNGType , typename RealType >
int vsmc::internal::mkl_uniform_real (::VSLStreamStatePtr stream, int n, RealType *r, RealType a, RealType b)
 
template<MKL_INT BRNG, int Bits>
void vsmc::normal_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *r, float, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::normal_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *r, double, double)
 
template<MKL_INT BRNG, int Bits>
void vsmc::normal_mv_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, std::size_t, const float *, const float *)
 
template<MKL_INT BRNG, int Bits>
void vsmc::normal_mv_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, std::size_t, const double *, const double *)
 
bool vsmc::operator!= (const MKLStream &stream1, const MKLStream &stream2)
 Inequality comparison of MKLStream. More...
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & vsmc::operator<< (std::basic_ostream< CharT, Traits > &os, const MKLStream &stream)
 Output of MKLStream. More...
 
bool vsmc::operator== (const MKLStream &stream1, const MKLStream &stream2)
 Equality comparison of MKLStream. More...
 
template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & vsmc::operator>> (std::basic_istream< CharT, Traits > &is, MKLStream &stream)
 Input of MKLStream. More...
 
template<MKL_INT BRNG, int Bits>
void vsmc::rand (MKLEngine< BRNG, Bits > &, std::size_t, typename MKLEngine< BRNG, Bits >::result_type *)
 
template<MKL_INT BRNG, int Bits>
void vsmc::rayleigh_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::rayleigh_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double)
 
template<MKL_INT BRNG, int Bits>
void vsmc::u01_co_distribution (MKLEngine< BRNG, Bits > &rng, std::size_t n, float *r)
 
template<MKL_INT BRNG, int Bits>
void vsmc::u01_co_distribution (MKLEngine< BRNG, Bits > &rng, std::size_t n, double *r)
 
template<MKL_INT BRNG, int Bits>
void vsmc::u01_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *)
 
template<MKL_INT BRNG, int Bits>
void vsmc::u01_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *)
 
template<MKL_INT BRNG, int Bits>
void vsmc::uniform_real_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::uniform_real_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<MKL_INT BRNG, int Bits>
void vsmc::weibull_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void vsmc::weibull_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 

Macro Definition Documentation

#define VSMC_RUNTIME_ASSERT_RNG_MKL_DISCARD
Value:
(nskip >= 0), "**MKLEngine::discard** INPUT IS NEGATIVE")
#define VSMC_RUNTIME_ASSERT(cond, msg)
Definition: assert.hpp:59

Definition at line 42 of file mkl.hpp.

#define VSMC_RUNTIME_WARNING_RNG_MKL_OFFSET
Value:
VSMC_RUNTIME_WARNING((offset < MaxOffset), \
"**MKLEngine** EXCESS MAXIMUM NUMBER OF INDEPDENT RNG STREAMS")
#define VSMC_RUNTIME_WARNING(cond, msg)
Definition: assert.hpp:81

Definition at line 38 of file mkl.hpp.