vSMC
vSMC: Scalable Monte Carlo
Classes | Typedefs

Random number generating using Random123 Threefry RNG. More...

Classes

class  vsmc::ThreefryGenerator< ResultType, K, Rounds >
 Threefry RNG generator. More...
 
class  vsmc::ThreefryGeneratorAVX2< ResultType, K, Rounds >
 Threefry RNG generator using AVX2. More...
 
class  vsmc::ThreefryGeneratorSSE2< ResultType, K, Rounds >
 Threefry RNG generator using SSE2. More...
 

Typedefs

using vsmc::Threefry = ThreefryEngine< std::uint32_t >
 The default 32-bits Threefry engine. More...
 
using vsmc::Threefry2x32 = ThreefryEngine< std::uint32_t, 2 >
 Threefry2x32 RNG engine. More...
 
using vsmc::Threefry2x32AVX2 = ThreefryEngineAVX2< std::uint32_t, 2 >
 Threefry2x32 RNG engine using AVX2. More...
 
using vsmc::Threefry2x32SSE2 = ThreefryEngineSSE2< std::uint32_t, 2 >
 Threefry2x32 RNG engine using SSE2. More...
 
using vsmc::Threefry2x64 = ThreefryEngine< std::uint64_t, 2 >
 Threefry2x64 RNG engine. More...
 
using vsmc::Threefry2x64AVX2 = ThreefryEngineAVX2< std::uint64_t, 2 >
 Threefry2x64 RNG engine using AVX2. More...
 
using vsmc::Threefry2x64SSE2 = ThreefryEngineSSE2< std::uint64_t, 2 >
 Threefry2x64 RNG engine using SSE2. More...
 
using vsmc::Threefry4x32 = ThreefryEngine< std::uint32_t, 4 >
 Threefry4x32 RNG engine. More...
 
using vsmc::Threefry4x32AVX2 = ThreefryEngineAVX2< std::uint32_t, 4 >
 Threefry4x32 RNG engine using AVX2. More...
 
using vsmc::Threefry4x32SSE2 = ThreefryEngineSSE2< std::uint32_t, 4 >
 Threefry4x32 RNG engine using SSE2. More...
 
using vsmc::Threefry4x64 = ThreefryEngine< std::uint64_t, 4 >
 Threefry4x64 RNG engine. More...
 
using vsmc::Threefry4x64AVX2 = ThreefryEngineAVX2< std::uint64_t, 4 >
 Threefry4x64 RNG engine using AVX2. More...
 
using vsmc::Threefry4x64SSE2 = ThreefryEngineSSE2< std::uint64_t, 4 >
 Threefry4x64 RNG engine using SSE2. More...
 
using vsmc::Threefry_64 = ThreefryEngine< std::uint64_t >
 The default 64-bits Threefry engine. More...
 
using vsmc::ThreefryAVX2 = ThreefryEngineAVX2< std::uint32_t >
 The default 32-bits Threefry engine using AVX2. More...
 
using vsmc::ThreefryAVX2_64 = ThreefryEngineAVX2< std::uint64_t >
 The default 64-bits Threefry engine using AVX2. More...
 
template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using vsmc::ThreefryEngine = CounterEngine< ThreefryGenerator< ResultType, K, Rounds >>
 Threefry RNG engine. More...
 
template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using vsmc::ThreefryEngineAVX2 = CounterEngine< ThreefryGeneratorAVX2< ResultType, K, Rounds >>
 Threefry RNG engine using AVX2. More...
 
template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using vsmc::ThreefryEngineSSE2 = CounterEngine< ThreefryGeneratorSSE2< ResultType, K, Rounds >>
 Threefry RNG engine using SSE2. More...
 
using vsmc::ThreefrySSE2 = ThreefryEngineSSE2< std::uint32_t >
 The default 32-bits Threefry engine using SSE2. More...
 
using vsmc::ThreefrySSE2_64 = ThreefryEngineSSE2< std::uint64_t >
 The default 64-bits ThreefrySSE2 engine using SSE2. More...
 

Detailed Description

Random number generating using Random123 Threefry RNG.

Typedef Documentation

using vsmc::Threefry = typedef ThreefryEngine<std::uint32_t>

The default 32-bits Threefry engine.

Definition at line 393 of file threefry.hpp.

using vsmc::Threefry2x32 = typedef ThreefryEngine<std::uint32_t, 2>

Threefry2x32 RNG engine.

Definition at line 377 of file threefry.hpp.

using vsmc::Threefry2x32AVX2 = typedef ThreefryEngineAVX2<std::uint32_t, 2>

Threefry2x32 RNG engine using AVX2.

Definition at line 797 of file threefry.hpp.

using vsmc::Threefry2x32SSE2 = typedef ThreefryEngineSSE2<std::uint32_t, 2>

Threefry2x32 RNG engine using SSE2.

Definition at line 583 of file threefry.hpp.

using vsmc::Threefry2x64 = typedef ThreefryEngine<std::uint64_t, 2>

Threefry2x64 RNG engine.

Definition at line 385 of file threefry.hpp.

using vsmc::Threefry2x64AVX2 = typedef ThreefryEngineAVX2<std::uint64_t, 2>

Threefry2x64 RNG engine using AVX2.

Definition at line 805 of file threefry.hpp.

using vsmc::Threefry2x64SSE2 = typedef ThreefryEngineSSE2<std::uint64_t, 2>

Threefry2x64 RNG engine using SSE2.

Definition at line 591 of file threefry.hpp.

using vsmc::Threefry4x32 = typedef ThreefryEngine<std::uint32_t, 4>

Threefry4x32 RNG engine.

Definition at line 381 of file threefry.hpp.

using vsmc::Threefry4x32AVX2 = typedef ThreefryEngineAVX2<std::uint32_t, 4>

Threefry4x32 RNG engine using AVX2.

Definition at line 801 of file threefry.hpp.

using vsmc::Threefry4x32SSE2 = typedef ThreefryEngineSSE2<std::uint32_t, 4>

Threefry4x32 RNG engine using SSE2.

Definition at line 587 of file threefry.hpp.

using vsmc::Threefry4x64 = typedef ThreefryEngine<std::uint64_t, 4>

Threefry4x64 RNG engine.

Definition at line 389 of file threefry.hpp.

using vsmc::Threefry4x64AVX2 = typedef ThreefryEngineAVX2<std::uint64_t, 4>

Threefry4x64 RNG engine using AVX2.

Definition at line 809 of file threefry.hpp.

using vsmc::Threefry4x64SSE2 = typedef ThreefryEngineSSE2<std::uint64_t, 4>

Threefry4x64 RNG engine using SSE2.

Definition at line 595 of file threefry.hpp.

using vsmc::Threefry_64 = typedef ThreefryEngine<std::uint64_t>

The default 64-bits Threefry engine.

Definition at line 397 of file threefry.hpp.

using vsmc::ThreefryAVX2 = typedef ThreefryEngineAVX2<std::uint32_t>

The default 32-bits Threefry engine using AVX2.

Definition at line 813 of file threefry.hpp.

using vsmc::ThreefryAVX2_64 = typedef ThreefryEngineAVX2<std::uint64_t>

The default 64-bits Threefry engine using AVX2.

Definition at line 817 of file threefry.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using vsmc::ThreefryEngine = typedef CounterEngine<ThreefryGenerator<ResultType, K, Rounds>>

Threefry RNG engine.

Definition at line 373 of file threefry.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using vsmc::ThreefryEngineAVX2 = typedef CounterEngine<ThreefryGeneratorAVX2<ResultType, K, Rounds>>

Threefry RNG engine using AVX2.

Definition at line 793 of file threefry.hpp.

template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using vsmc::ThreefryEngineSSE2 = typedef CounterEngine<ThreefryGeneratorSSE2<ResultType, K, Rounds>>

Threefry RNG engine using SSE2.

Definition at line 579 of file threefry.hpp.

using vsmc::ThreefrySSE2 = typedef ThreefryEngineSSE2<std::uint32_t>

The default 32-bits Threefry engine using SSE2.

Definition at line 599 of file threefry.hpp.

using vsmc::ThreefrySSE2_64 = typedef ThreefryEngineSSE2<std::uint64_t>

The default 64-bits ThreefrySSE2 engine using SSE2.

Definition at line 603 of file threefry.hpp.