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

Go to the source code of this file.

Classes

class  vsmc::ARSKeySeq< T >
 Default ARSEngine key sequence generator. More...
 
class  vsmc::ARSWeylConstantTrait< I >
 ARSEngine Weyl sequence constants. More...
 
class  vsmc::internal::ARSWeylConstant< size_t >
 
class  vsmc::internal::ARSWeylConstant< 0 >
 
class  vsmc::internal::ARSWeylConstant< 1 >
 

Namespaces

 vsmc
 
 vsmc::internal
 

Macros

#define VSMC_RNG_ARS_BLOCKS   4
 ARSEngine default blocks. More...
 
#define VSMC_RNG_ARS_ROUNDS   5
 ARSEngine default rounds. More...
 

Typedefs

using vsmc::ARS = ARSEngine< std::uint32_t >
 ARS RNG engine with 32-bits integers output, default blocks and default rounds. More...
 
using vsmc::ARS_1x32 = ARSEngine< std::uint32_t, 5, 1 >
 ARS RNG engine with 32-bits integers output, 1 block and default rounds. More...
 
using vsmc::ARS_1x64 = ARSEngine< std::uint64_t, 5, 1 >
 ARS RNG engine with 64-bits integers output, 1 block and default rounds. More...
 
using vsmc::ARS_2x32 = ARSEngine< std::uint32_t, 5, 2 >
 ARS RNG engine with 32-bits integers output, 2 blocks and default rounds. More...
 
using vsmc::ARS_2x64 = ARSEngine< std::uint64_t, 5, 2 >
 ARS RNG engine with 64-bits integers output, 2 blocks and default rounds. More...
 
using vsmc::ARS_4x32 = ARSEngine< std::uint32_t, 5, 4 >
 ARS RNG engine with 32-bits integers output, 4 blocks and default rounds. More...
 
using vsmc::ARS_4x64 = ARSEngine< std::uint64_t, 5, 4 >
 ARS RNG engine with 64-bits integers output, 4 blocks and default rounds. More...
 
using vsmc::ARS_64 = ARSEngine< std::uint64_t >
 ARS RNG engine with 64-bits integers output, default blocks and default rounds. More...
 
using vsmc::ARS_8x32 = ARSEngine< std::uint32_t, 5, 8 >
 ARS RNG engine with 32-bits integers output, 8 blocks and default rounds. More...
 
using vsmc::ARS_8x64 = ARSEngine< std::uint64_t, 5, 8 >
 ARS RNG engine with 64-bits integers output, 8 blocks and default rounds. More...
 
template<typename ResultType , std::size_t Rounds = 5, std::size_t Blocks = 4>
using vsmc::ARSEngine = AESNIEngine< ResultType, ARSKeySeq< ResultType >, Rounds, Blocks >
 ARS RNG engine. More...