32 #ifndef VSMC_RNG_DEFINE_MACRO_NA 33 #define VSMC_RNG_DEFINE_MACRO_NA(RNGType, Name, name) 37 VSMC_RNG_DEFINE_MACRO(::
vsmc::
RNG_64, RNG_64, rng_64)
39 VSMC_RNG_DEFINE_MACRO(::
vsmc::
RNGMini, RNGMini, rngmini)
42 VSMC_RNG_DEFINE_MACRO(::
vsmc::
Philox, Philox, philox)
43 VSMC_RNG_DEFINE_MACRO(::
vsmc::
Philox_64, Philox_64, philox_64)
45 VSMC_RNG_DEFINE_MACRO(::
vsmc::
Threefry, Threefry, threefry)
49 #define VSMC_RNG_DEFINE_MACRO_AES_NI VSMC_RNG_DEFINE_MACRO 51 #define VSMC_RNG_DEFINE_MACRO_AES_NI VSMC_RNG_DEFINE_MACRO_NA 66 #undef VSMC_RNG_DEFINE_MACRO_AES_NI
::vsmc::Philox2x32 RNGMini
The 32-bits RNG with smallest state.
::vsmc::ARS RNG
The default 32-bits RNG.
Counter based RNG engine.
AES256Engine< std::uint64_t > AES256_64
AES-256 RNG engine with 64-bit integers output.
::vsmc::Philox2x32_64 RNGMini_64
The 64-bits RNG with smallest state.
#define VSMC_RNG_DEFINE_MACRO_AES_NI
ARSEngine< std::uint64_t > ARS_64
ARS RNG engine with 64-bit integers output, default blocks and default rounds.
ARSEngine< std::uint32_t > ARS
ARS RNG engine with 32-bit integers output, default blocks and default rounds.
Philox4x64Engine< std::uint32_t > Philox
The default 32-bit Philox engine.
Threefry4x64Engine< std::uint32_t > Threefry
The default 32-bit Threefry engine.
AES128Engine< std::uint32_t > AES128
AES-128 RNG engine with 32-bit integers output.
Threefry4x64Engine< std::uint64_t > Threefry_64
The default 64-bit Threefry engine.
AES128Engine< std::uint64_t > AES128_64
AES-128 RNG engine with 64-bit integers output.
AES192Engine< std::uint64_t > AES192_64
AES-192 RNG engine with 64-bit integers output.
AES192Engine< std::uint32_t > AES192
AES-192 RNG engine with 32-bit integers output.
Philox4x64Engine< std::uint64_t > Philox_64
The default 64-bit Philox engine.
ARS_64 RNG_64
The default 64-bits RNG.
AES256Engine< std::uint32_t > AES256
AES-256 RNG engine with 32-bit integers output.