vSMC
vSMC: Scalable Monte Carlo
Classes | Typedefs | Functions

Random number generating using Intel RDRAND instructions. More...

Classes

class  vsmc::RDRANDGenerator< ResultType, NTrialMax >
 RDRAND generator. More...
 

Typedefs

typedef GeneratorWrapper< uint16_t, RDRANDGenerator< uint16_t > > vsmc::RDRAND16
 C++11 Engine using 16-bits RDRAND instruction. More...
 
typedef GeneratorWrapper< uint32_t, RDRANDGenerator< uint32_t > > vsmc::RDRAND32
 C++11 Engine using 32-bits RDRAND instruction. More...
 
typedef GeneratorWrapper< uint64_t, RDRANDGenerator< uint64_t > > vsmc::RDRAND64
 C++11 Engine using 64-bits RDRAND instruction. More...
 

Functions

template<typename UIntType >
bool vsmc::rdrand (UIntType *)
 Invoke the RDRAND instruction and return the carry flag. More...
 
template<>
bool vsmc::rdrand< uint16_t > (uint16_t *rand)
 Invoke the 16-bits RDRAND instruction and return the carry flag. More...
 
template<>
bool vsmc::rdrand< uint32_t > (uint32_t *rand)
 Invoke the 32-bits RDRAND instruction and return the carry flag. More...
 
template<>
bool vsmc::rdrand< uint64_t > (uint64_t *rand)
 Invoke the 64-bits RDRAND instruction and return the carry flag. More...
 

Detailed Description

Random number generating using Intel RDRAND instructions.

Typedef Documentation

typedef GeneratorWrapper<uint16_t, RDRANDGenerator<uint16_t> > vsmc::RDRAND16

C++11 Engine using 16-bits RDRAND instruction.

Definition at line 121 of file rdrand.hpp.

typedef GeneratorWrapper<uint32_t, RDRANDGenerator<uint32_t> > vsmc::RDRAND32

C++11 Engine using 32-bits RDRAND instruction.

Definition at line 125 of file rdrand.hpp.

typedef GeneratorWrapper<uint64_t, RDRANDGenerator<uint64_t> > vsmc::RDRAND64

C++11 Engine using 64-bits RDRAND instruction.

Definition at line 129 of file rdrand.hpp.

Function Documentation

template<typename UIntType >
bool vsmc::rdrand ( UIntType *  )
inline

Invoke the RDRAND instruction and return the carry flag.

template<>
bool vsmc::rdrand< uint16_t > ( uint16_t *  rand)
inline

Invoke the 16-bits RDRAND instruction and return the carry flag.

Definition at line 65 of file rdrand.hpp.

template<>
bool vsmc::rdrand< uint32_t > ( uint32_t *  rand)
inline

Invoke the 32-bits RDRAND instruction and return the carry flag.

Definition at line 76 of file rdrand.hpp.

template<>
bool vsmc::rdrand< uint64_t > ( uint64_t *  rand)
inline

Invoke the 64-bits RDRAND instruction and return the carry flag.

Definition at line 87 of file rdrand.hpp.