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

Go to the source code of this file.

Classes

class  vsmc::AESNIEngine< ResultType, KeySeq, KeySeqInit, Rounds, Blocks >
 RNG engine using AES-NI instructions. More...
 
class  vsmc::internal::AESNIKeySeqStorage< KeySeq, KeySeqInit, Rounds >
 
class  vsmc::internal::AESNIKeySeqStorage< KeySeq, false, Rounds >
 
class  vsmc::internal::AESNIKeySeqStorage< KeySeq, true, Rounds >
 

Namespaces

 vsmc
 
 vsmc::internal
 

Macros

#define VSMC_STATIC_ASSERT_RNG_AES_NI
 
#define VSMC_STATIC_ASSERT_RNG_AES_NI_BLOCKS(Blocks)   VSMC_STATIC_ASSERT((Blocks > 0), USE_AESNIEngine_WITH_ZERO_BLOCKS)
 
#define VSMC_STATIC_ASSERT_RNG_AES_NI_RESULT_TYPE(ResultType)
 

Macro Definition Documentation

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

Definition at line 46 of file aes_ni.hpp.

#define VSMC_STATIC_ASSERT_RNG_AES_NI_BLOCKS (   Blocks)    VSMC_STATIC_ASSERT((Blocks > 0), USE_AESNIEngine_WITH_ZERO_BLOCKS)

Definition at line 39 of file aes_ni.hpp.

#define VSMC_STATIC_ASSERT_RNG_AES_NI_RESULT_TYPE (   ResultType)
Value:
VSMC_STATIC_ASSERT((cxx11::is_unsigned<ResultType>::value), \
USE_AESNIEngine_WITH_RESULT_TYPE_NOT_AN_UNSIGNED_INTEGER)
#define VSMC_STATIC_ASSERT(cond, msg)
Definition: assert.hpp:46

Definition at line 42 of file aes_ni.hpp.