vSMC  v3.0.0
Scalable Monte Carlo
Classes | Typedefs | Functions

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

Classes

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

Typedefs

using vsmc::RDRAND16 = RDRANDEngine< std::uint16_t >
 C++11 Engine using 16-bit RDRAND instruction. More...
 
using vsmc::RDRAND32 = RDRANDEngine< std::uint32_t >
 C++11 Engine using 32-bit RDRAND instruction. More...
 
using vsmc::RDRAND64 = RDRANDEngine< std::uint64_t >
 C++11 Engine using 64-bit RDRAND instruction. More...
 

Functions

template<typename UIntType , std::size_t W>
bool vsmc::rdrand (UIntType *, std::integral_constant< int, W >)
 Invoke the RDRAND instruction and return the carry flag. More...
 
template<typename UIntType >
bool vsmc::rdrand (UIntType *rand, std::integral_constant< int, 16 >)
 Invoke the 16-bit RDRAND instruction and return the carry flag. More...
 
template<typename UIntType >
bool vsmc::rdrand (UIntType *rand, std::integral_constant< int, 32 >)
 Invoke the 32-bit RDRAND instruction and return the carry flag. More...
 
template<typename UIntType >
bool vsmc::rdrand (UIntType *rand, std::integral_constant< int, 64 >)
 Invoke the 64-bit RDRAND instruction and return the carry flag. More...
 

Detailed Description

Random number generating using Intel RDRAND instructions.

Typedef Documentation

using vsmc::RDRAND16 = typedef RDRANDEngine<std::uint16_t>

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

Definition at line 210 of file rdrand.hpp.

using vsmc::RDRAND32 = typedef RDRANDEngine<std::uint32_t>

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

Definition at line 214 of file rdrand.hpp.

using vsmc::RDRAND64 = typedef RDRANDEngine<std::uint64_t>

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

Definition at line 218 of file rdrand.hpp.

Function Documentation

template<typename UIntType , std::size_t W>
bool vsmc::rdrand ( UIntType *  ,
std::integral_constant< int, W >   
)
inline

Invoke the RDRAND instruction and return the carry flag.

template<typename UIntType >
bool vsmc::rdrand ( UIntType *  rand,
std::integral_constant< int, 16 >   
)
inline

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

Definition at line 57 of file rdrand.hpp.

template<typename UIntType >
bool vsmc::rdrand ( UIntType *  rand,
std::integral_constant< int, 32 >   
)
inline

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

Definition at line 69 of file rdrand.hpp.

template<typename UIntType >
bool vsmc::rdrand ( UIntType *  rand,
std::integral_constant< int, 64 >   
)
inline

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

Definition at line 81 of file rdrand.hpp.