vSMC
vSMC: Scalable Monte Carlo
Modules | Classes | Typedefs | Functions
Random number generating

Random number generating engines and utilities. More...

Modules

 AES-NI
 Random number generating using AES-NI.
 
 Adapter
 C++11 RNG engines that adapt other RNG generators.
 
 Distribution
 Distribution random varaites.
 
 GSL
 Random number generating using GSL RNG.
 
 Intel DRNG
 Random number generating using Intel RDRAND instructions.
 
 MKL
 Random number generating using MKL RNG.
 
 OpenCL
 Random number generating in OpenCL kernels.
 
 Random123
 Random number generating using Random123 RNG.
 
 U01
 Convert random integers to random floating points.
 
 Xorshift
 Random number generating using the Xorshift algorithm.
 

Classes

class  vsmc::RngSet< RngType, Scalar >
 Scalar RNG set. More...
 
class  vsmc::RngSet< RngType, Vector >
 Vector RNG set. More...
 
class  vsmc::SeedGenerator< ID, ResultType >
 Seed generator. More...
 
class  vsmc::SeedGenerator< ID, Array< T, K > >
 Seed generator counters. More...
 

Typedefs

typedef SeedGenerator< NullType, unsigned > vsmc::Seed
 The default Seed type. More...
 

Functions

template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & vsmc::m128i_input (std::basic_istream< CharT, Traits > &is, __m128i &a)
 Input an __m128i object from an input stream as 16 bytes unsigned integers written by m128i_output. More...
 
bool vsmc::m128i_is_equal (const __m128i &a, const __m128i &b)
 Compare two __m128i objects. More...
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & vsmc::m128i_output (std::basic_ostream< CharT, Traits > &os, const __m128i &a)
 Write an __m128i object into an output stream as 16 bytes unsigned integers. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_pack (const Array< T, N > &c, __m128i &m)
 Pack an Array into an __m128i object. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_pack_a (const Array< T, N > &c, __m128i &m)
 Aligned pack. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_pack_u (const Array< T, N > &c, __m128i &m)
 Unaligned pack. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_unpack (const __m128i &m, Array< T, N > &c)
 Unpack an __m128i object into an Array. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_unpack_a (const __m128i &m, Array< T, N > &c)
 Aligned unpack. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_unpack_u (const __m128i &m, Array< T, N > &c)
 Unaligned unpack. More...
 

Detailed Description

Random number generating engines and utilities.

Typedef Documentation

typedef SeedGenerator<NullType, unsigned > vsmc::Seed

The default Seed type.

Definition at line 334 of file seed.hpp.

Function Documentation

template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& vsmc::m128i_input ( std::basic_istream< CharT, Traits > &  is,
__m128i a 
)
inline

Input an __m128i object from an input stream as 16 bytes unsigned integers written by m128i_output.

Definition at line 119 of file m128i.hpp.

bool vsmc::m128i_is_equal ( const __m128i a,
const __m128i b 
)
inline

Compare two __m128i objects.

Definition at line 89 of file m128i.hpp.

template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& vsmc::m128i_output ( std::basic_ostream< CharT, Traits > &  os,
const __m128i a 
)
inline

Write an __m128i object into an output stream as 16 bytes unsigned integers.

Definition at line 103 of file m128i.hpp.

template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_pack ( const Array< T, N > &  c,
__m128i m 
)
inline

Pack an Array into an __m128i object.

Definition at line 72 of file m128i.hpp.

template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_pack_a ( const Array< T, N > &  c,
__m128i m 
)
inline

Aligned pack.

Definition at line 48 of file m128i.hpp.

template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_pack_u ( const Array< T, N > &  c,
__m128i m 
)
inline

Unaligned pack.

Definition at line 54 of file m128i.hpp.

template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_unpack ( const __m128i m,
Array< T, N > &  c 
)
inline

Unpack an __m128i object into an Array.

Definition at line 81 of file m128i.hpp.

template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_unpack_a ( const __m128i m,
Array< T, N > &  c 
)
inline

Aligned unpack.

Definition at line 60 of file m128i.hpp.

template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_unpack_u ( const __m128i m,
Array< T, N > &  c 
)
inline

Unaligned unpack.

Definition at line 66 of file m128i.hpp.