vSMC
vSMC: Scalable Monte Carlo
Classes | Namespaces | Macros | Typedefs
aes_ni.hpp File Reference
#include <vsmc/rng/internal/common.hpp>
#include <vsmc/rng/counter.hpp>
#include <wmmintrin.h>

Go to the source code of this file.

Classes

class  vsmc::AESNIGenerator< ResultType, KeySeqType, Rounds, Blocks >
 RNG generator using AES-NI instructions. More...
 

Namespaces

 vsmc
 

Macros

#define VSMC_STATIC_ASSERT_RNG_AES_NI
 
#define VSMC_STATIC_ASSERT_RNG_AES_NI_BLOCKS(Blocks)
 
#define VSMC_STATIC_ASSERT_RNG_AES_NI_RESULT_TYPE(ResultType)
 

Typedefs

template<typename ResultType , typename KeySeqType , std::size_t Rounds, std::size_t Blocks>
using vsmc::AESNIEngine = CounterEngine< AESNIGenerator< ResultType, KeySeqType, Rounds, Blocks >>
 RNG engine using AES-NI instructions. More...
 

Macro Definition Documentation

#define VSMC_STATIC_ASSERT_RNG_AES_NI
Value:
VSMC_STATIC_ASSERT_RNG_AES_NI_RESULT_TYPE(ResultType);
#define VSMC_STATIC_ASSERT_RNG_AES_NI_BLOCKS(Blocks)
Definition: aes_ni.hpp:39

Definition at line 47 of file aes_ni.hpp.

#define VSMC_STATIC_ASSERT_RNG_AES_NI_BLOCKS (   Blocks)
Value:
(Blocks > 0), "**AESNIGenerator** USED WITH ZERO BLOCKS")
#define VSMC_STATIC_ASSERT(cond, msg)
Definition: assert.hpp:42

Definition at line 39 of file aes_ni.hpp.

#define VSMC_STATIC_ASSERT_RNG_AES_NI_RESULT_TYPE (   ResultType)
Value:
VSMC_STATIC_ASSERT((std::is_unsigned<ResultType>::value), \
"**AESNIGenerator USED WITH ResultType NOT AN UNSIGNED INTEGER")
#define VSMC_STATIC_ASSERT(cond, msg)
Definition: assert.hpp:42

Definition at line 43 of file aes_ni.hpp.