32 #ifdef VSMC_DEFINE_RNG_MKL_BRNG 58 #endif // VSMC_HAS_AVX2 64 #endif // VSMC_HAS_SSE2 99 #endif // VSMC_HAS_AES_NI 104 #endif // VSMC_HAS_RDRAND 106 #endif // VSMC_DEFINE_RNG_MKL_BRNG
AES256Engine< std::uint64_t, 2 > AES256_2x64
AES-256 RNG engine with 64-bits integers output and 2 blocks.
ThreefryEngine< std::uint64_t, 2 > Threefry2x64
Threefry2x64 RNG engine.
ARSEngine< std::uint64_t, 5, 4 > ARS_4x64
ARS RNG engine with 64-bits integers output, 4 blocks and default rounds.
ARSEngine< std::uint32_t, 5, 2 > ARS_2x32
ARS RNG engine with 32-bits integers output, 2 blocks and default rounds.
ThreefryEngineAVX2< std::uint64_t, 4 > Threefry4x64AVX2
Threefry4x64 RNG engine using AVX2.
PhiloxEngine< std::uint64_t, 4 > Philox4x64
Philox4x64 RNG engine.
ARSEngine< std::uint32_t, 5, 8 > ARS_8x32
ARS RNG engine with 32-bits integers output, 8 blocks and default rounds.
AES256Engine< std::uint32_t, 1 > AES256_1x32
AES-256 RNG engine with 32-bits integers output and 1 block.
RDRANDEngine< std::uint64_t > RDRAND64
C++11 Engine using 64-bits RDRAND instruction.
AES128Engine< std::uint64_t, 1 > AES128_1x64
AES-128 RNG engine with 64-bits integers output and 1 block.
AES128Engine< std::uint32_t, 2 > AES128_2x32
AES-128 RNG engine with 32-bits integers output and 2 blocks.
Counter based RNG engine.
AES192Engine< std::uint32_t, 8 > AES192_8x32
AES-192 RNG engine with 32-bits integers output and 8 blocks.
AES192Engine< std::uint64_t, 1 > AES192_1x64
AES-192 RNG engine with 64-bits integers output and 1 block.
ARSEngine< std::uint32_t, 5, 1 > ARS_1x32
ARS RNG engine with 32-bits integers output, 1 block and default rounds.
AES192Engine< std::uint64_t, 8 > AES192_8x64
AES-192 RNG engine with 64-bits integers output and 8 blocks.
ARSEngine< std::uint64_t, 5, 2 > ARS_2x64
ARS RNG engine with 64-bits integers output, 2 blocks and default rounds.
ARSEngine< std::uint64_t, 5, 8 > ARS_8x64
ARS RNG engine with 64-bits integers output, 8 blocks and default rounds.
AES192Engine< std::uint32_t, 4 > AES192_4x32
AES-192 RNG engine with 32-bits integers output and 4 blocks.
PhiloxEngine< std::uint32_t, 4 > Philox4x32
Philox4x32 RNG engine.
AES256Engine< std::uint32_t, 4 > AES256_4x32
AES-256 RNG engine with 32-bits integers output and 4 blocks.
ThreefryEngine< std::uint32_t, 4 > Threefry4x32
Threefry4x32 RNG engine.
AES256Engine< std::uint64_t, 4 > AES256_4x64
AES-256 RNG engine with 64-bits integers output and 4 blocks.
ThreefryEngine< std::uint64_t, 4 > Threefry4x64
Threefry4x64 RNG engine.
AES192Engine< std::uint32_t, 1 > AES192_1x32
AES-192 RNG engine with 32-bits integers output and 1 block.
AES128Engine< std::uint32_t, 4 > AES128_4x32
AES-128 RNG engine with 32-bits integers output and 4 blocks.
ThreefryEngineAVX2< std::uint64_t, 2 > Threefry2x64AVX2
Threefry2x64 RNG engine using AVX2.
#define VSMC_DEFINE_RNG_MKL_BRNG(RNGType, name)
ThreefryEngineSSE2< std::uint64_t, 4 > Threefry4x64SSE2
Threefry4x64 RNG engine using SSE2.
PhiloxEngine< std::uint64_t, 2 > Philox2x64
Philox2x64 RNG engine.
AES128Engine< std::uint64_t, 2 > AES128_2x64
AES-128 RNG engine with 64-bits integers output and 2 blocks.
AES256Engine< std::uint64_t, 8 > AES256_8x64
AES-256 RNG engine with 64-bits integers output and 8 blocks.
AES128Engine< std::uint64_t, 8 > AES128_8x64
AES-128 RNG engine with 64-bits integers output and 8 blocks.
AES192Engine< std::uint64_t, 2 > AES192_2x64
AES-192 RNG engine with 64-bits integers output and 2 blocks.
AES128Engine< std::uint64_t, 4 > AES128_4x64
AES-128 RNG engine with 64-bits integers output and 4 blocks.
AES128Engine< std::uint32_t, 8 > AES128_8x32
AES-128 RNG engine with 32-bits integers output and 8 blocks.
ThreefryEngineSSE2< std::uint64_t, 2 > Threefry2x64SSE2
Threefry2x64 RNG engine using SSE2.
AES256Engine< std::uint64_t, 1 > AES256_1x64
AES-256 RNG engine with 64-bits integers output and 1 block.
ThreefryEngine< std::uint32_t, 2 > Threefry2x32
Threefry2x32 RNG engine.
AES256Engine< std::uint32_t, 2 > AES256_2x32
AES-256 RNG engine with 32-bits integers output and 2 blocks.
AES256Engine< std::uint32_t, 8 > AES256_8x32
AES-256 RNG engine with 32-bits integers output and 8 blocks.
AES192Engine< std::uint32_t, 2 > AES192_2x32
AES-192 RNG engine with 32-bits integers output and 2 blocks.
AES192Engine< std::uint64_t, 4 > AES192_4x64
AES-192 RNG engine with 64-bits integers output and 4 blocks.
ThreefryEngineSSE2< std::uint32_t, 4 > Threefry4x32SSE2
Threefry4x32 RNG engine using SSE2.
ARSEngine< std::uint32_t, 5, 4 > ARS_4x32
ARS RNG engine with 32-bits integers output, 4 blocks and default rounds.
ThreefryEngineAVX2< std::uint32_t, 4 > Threefry4x32AVX2
Threefry4x32 RNG engine using AVX2.
PhiloxEngine< std::uint32_t, 2 > Philox2x32
Philox2x32 RNG engine.
ARSEngine< std::uint64_t, 5, 1 > ARS_1x64
ARS RNG engine with 64-bits integers output, 1 block and default rounds.