MCKL
Monte Carlo Kernel Library
Classes | Typedefs | Functions
Intel Math Kernel Library

Random number generating using MKL. More...

Classes

class  mckl::MKLEngine< BRNG, Bits >
 Use MKL BRNG as RNG engine. More...
 
class  mckl::MKLStream
 MKL VSLStreamStatePtr wrapper. More...
 

Typedefs

using mckl::MKL_ARS5 = MKLEngine< VSL_BRNG_ARS5, 32 >
 A counter-based random number generator. More...
 
using mckl::MKL_ARS5_64 = MKLEngine< VSL_BRNG_ARS5, 64 >
 A counter-based random number generator (64-bit) More...
 
using mckl::MKL_MCG59 = MKLEngine< VSL_BRNG_MCG59, 32 >
 A 59-bit multiplicative congruential generator. More...
 
using mckl::MKL_MCG59_64 = MKLEngine< VSL_BRNG_MCG59, 64 >
 A 59-bit multiplicative congruential generator (64-bit) More...
 
using mckl::MKL_MT19937 = MKLEngine< VSL_BRNG_MT19937, 32 >
 A Mersenne-Twister pseudoranom number genertor. More...
 
using mckl::MKL_MT19937_64 = MKLEngine< VSL_BRNG_MT19937, 64 >
 A Mersenne-Twister pseudoranom number genertor (64-bit) More...
 
using mckl::MKL_MT2203 = MKLEngine< VSL_BRNG_MT2203, 32 >
 A set of 6024 Mersenne-Twister pseudoranom number genertor. More...
 
using mckl::MKL_MT2203_64 = MKLEngine< VSL_BRNG_MT2203, 64 >
 A set of 6024 Mersenne-Twister pseudoranom number genertor (64-bit) More...
 
using mckl::MKL_NONDETERM = MKLEngine< VSL_BRNG_NONDETERM, 32 >
 A non-determinstic random number generator. More...
 
using mckl::MKL_NONDETERM_64 = MKLEngine< VSL_BRNG_NONDETERM, 64 >
 A non-determinstic random number generator (64-bit) More...
 
using mckl::MKL_PHILOX4X32X10 = MKLEngine< VSL_BRNG_PHILOX4X32X10, 32 >
 A counter-based random number generator. More...
 
using mckl::MKL_PHILOX4X32X10_64 = MKLEngine< VSL_BRNG_PHILOX4X32X10, 64 >
 A counter-based random number generator (64-bit) More...
 
using mckl::MKL_SFMT19937 = MKLEngine< VSL_BRNG_SFMT19937, 32 >
 A SIMD-oriented fast Mersenne-Twister pseudoranom number genertor. More...
 
using mckl::MKL_SFMT19937_64 = MKLEngine< VSL_BRNG_SFMT19937, 64 >
 A SIMD-oriented fast Mersenne-Twister pseudoranom number genertor (64-bit) More...
 

Functions

template<typename RNGType >
int mckl::mkl_brng ()
 Register an RNG as MKL BRNG. More...
 
bool mckl::operator!= (const MKLStream &stream1, const MKLStream &stream2)
 Inequality comparison of MKLStream. More...
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & mckl::operator<< (std::basic_ostream< CharT, Traits > &os, const MKLStream &stream)
 Output of MKLStream. More...
 
bool mckl::operator== (const MKLStream &stream1, const MKLStream &stream2)
 Equality comparison of MKLStream. More...
 
template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & mckl::operator>> (std::basic_istream< CharT, Traits > &is, MKLStream &stream)
 Input of MKLStream. More...
 

Detailed Description

Random number generating using MKL.

Typedef Documentation

◆ MKL_ARS5

using mckl::MKL_ARS5 = typedef MKLEngine<VSL_BRNG_ARS5, 32>

A counter-based random number generator.

Definition at line 1108 of file mkl.hpp.

◆ MKL_ARS5_64

using mckl::MKL_ARS5_64 = typedef MKLEngine<VSL_BRNG_ARS5, 64>

A counter-based random number generator (64-bit)

Definition at line 1112 of file mkl.hpp.

◆ MKL_MCG59

using mckl::MKL_MCG59 = typedef MKLEngine<VSL_BRNG_MCG59, 32>

A 59-bit multiplicative congruential generator.

Definition at line 1124 of file mkl.hpp.

◆ MKL_MCG59_64

using mckl::MKL_MCG59_64 = typedef MKLEngine<VSL_BRNG_MCG59, 64>

A 59-bit multiplicative congruential generator (64-bit)

Definition at line 1128 of file mkl.hpp.

◆ MKL_MT19937

using mckl::MKL_MT19937 = typedef MKLEngine<VSL_BRNG_MT19937, 32>

A Mersenne-Twister pseudoranom number genertor.

Definition at line 1132 of file mkl.hpp.

◆ MKL_MT19937_64

using mckl::MKL_MT19937_64 = typedef MKLEngine<VSL_BRNG_MT19937, 64>

A Mersenne-Twister pseudoranom number genertor (64-bit)

Definition at line 1136 of file mkl.hpp.

◆ MKL_MT2203

using mckl::MKL_MT2203 = typedef MKLEngine<VSL_BRNG_MT2203, 32>

A set of 6024 Mersenne-Twister pseudoranom number genertor.

Definition at line 1140 of file mkl.hpp.

◆ MKL_MT2203_64

using mckl::MKL_MT2203_64 = typedef MKLEngine<VSL_BRNG_MT2203, 64>

A set of 6024 Mersenne-Twister pseudoranom number genertor (64-bit)

Definition at line 1144 of file mkl.hpp.

◆ MKL_NONDETERM

using mckl::MKL_NONDETERM = typedef MKLEngine<VSL_BRNG_NONDETERM, 32>

A non-determinstic random number generator.

Definition at line 1158 of file mkl.hpp.

◆ MKL_NONDETERM_64

using mckl::MKL_NONDETERM_64 = typedef MKLEngine<VSL_BRNG_NONDETERM, 64>

A non-determinstic random number generator (64-bit)

Definition at line 1162 of file mkl.hpp.

◆ MKL_PHILOX4X32X10

using mckl::MKL_PHILOX4X32X10 = typedef MKLEngine<VSL_BRNG_PHILOX4X32X10, 32>

A counter-based random number generator.

Definition at line 1116 of file mkl.hpp.

◆ MKL_PHILOX4X32X10_64

using mckl::MKL_PHILOX4X32X10_64 = typedef MKLEngine<VSL_BRNG_PHILOX4X32X10, 64>

A counter-based random number generator (64-bit)

Definition at line 1120 of file mkl.hpp.

◆ MKL_SFMT19937

using mckl::MKL_SFMT19937 = typedef MKLEngine<VSL_BRNG_SFMT19937, 32>

A SIMD-oriented fast Mersenne-Twister pseudoranom number genertor.

Definition at line 1149 of file mkl.hpp.

◆ MKL_SFMT19937_64

using mckl::MKL_SFMT19937_64 = typedef MKLEngine<VSL_BRNG_SFMT19937, 64>

A SIMD-oriented fast Mersenne-Twister pseudoranom number genertor (64-bit)

Definition at line 1154 of file mkl.hpp.

Function Documentation

◆ mkl_brng()

template<typename RNGType >
int mckl::mkl_brng ( )
inline

Register an RNG as MKL BRNG.

Only engines defined in this library and the standard library are specialized. This function requires the C runtime of the library.

Definition at line 1256 of file mkl.hpp.

◆ operator!=()

bool mckl::operator!= ( const MKLStream stream1,
const MKLStream stream2 
)
inline

Inequality comparison of MKLStream.

Definition at line 651 of file mkl.hpp.

◆ operator<<()

template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& mckl::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const MKLStream stream 
)
inline

Output of MKLStream.

Definition at line 659 of file mkl.hpp.

◆ operator==()

bool mckl::operator== ( const MKLStream stream1,
const MKLStream stream2 
)
inline

Equality comparison of MKLStream.

Definition at line 626 of file mkl.hpp.

◆ operator>>()

template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& mckl::operator>> ( std::basic_istream< CharT, Traits > &  is,
MKLStream stream 
)
inline

Input of MKLStream.

Definition at line 684 of file mkl.hpp.