MCKL
Monte Carlo Kernel Library
Classes | Typedefs

Random number generating using Random123 Philox algorithm. More...

Classes

class  mckl::PhiloxConstants< T, K >
 Default Philox constants. More...
 
class  mckl::PhiloxGenerator< T, K, Rounds, Constants >
 Philox RNG generator. More...
 

Typedefs

using mckl::Philox2x32 = Philox2x32Engine< std::uint32_t >
 Philox2x32 RNG engine with 32-bit integer output. More...
 
using mckl::Philox2x32_64 = Philox2x32Engine< std::uint64_t >
 Philox2x32 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Philox2x32Engine = PhiloxEngine< ResultType, std::uint32_t, 2 >
 Philox2x32 RNG engine. More...
 
using mckl::Philox2x64 = Philox2x64Engine< std::uint32_t >
 Philox2x64 RNG engine with 32-bit integer output. More...
 
using mckl::Philox2x64_64 = Philox2x64Engine< std::uint64_t >
 Philox2x64 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Philox2x64Engine = PhiloxEngine< ResultType, std::uint64_t, 2 >
 Philox2x64 RNG engine. More...
 
using mckl::Philox4x32 = Philox4x32Engine< std::uint32_t >
 Philox4x32 RNG engine with 32-bit integer output. More...
 
using mckl::Philox4x32_64 = Philox4x32Engine< std::uint64_t >
 Philox4x32 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Philox4x32Engine = PhiloxEngine< ResultType, std::uint32_t, 4 >
 Philox4x32 RNG engine. More...
 
using mckl::Philox4x64 = Philox4x64Engine< std::uint32_t >
 Philox4x64 RNG engine with 32-bit integer output. More...
 
using mckl::Philox4x64_64 = Philox4x64Engine< std::uint64_t >
 Philox4x64 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Philox4x64Engine = PhiloxEngine< ResultType, std::uint64_t, 4 >
 Philox4x64 RNG engine. More...
 
template<typename ResultType , typename T , std::size_t K, std::size_t Rounds = 10, typename Constants = PhiloxConstants<T, K>>
using mckl::PhiloxEngine = CounterEngine< ResultType, PhiloxGenerator< T, K, Rounds, Constants > >
 Philox RNG engine. More...
 

Detailed Description

Random number generating using Random123 Philox algorithm.

Typedef Documentation

◆ Philox2x32

Philox2x32 RNG engine with 32-bit integer output.

Definition at line 212 of file philox.hpp.

◆ Philox2x32_64

Philox2x32 RNG engine with 64-bit integer output.

Definition at line 228 of file philox.hpp.

◆ Philox2x32Engine

template<typename ResultType >
using mckl::Philox2x32Engine = typedef PhiloxEngine<ResultType, std::uint32_t, 2>

Philox2x32 RNG engine.

Definition at line 193 of file philox.hpp.

◆ Philox2x64

Philox2x64 RNG engine with 32-bit integer output.

Definition at line 220 of file philox.hpp.

◆ Philox2x64_64

Philox2x64 RNG engine with 64-bit integer output.

Definition at line 236 of file philox.hpp.

◆ Philox2x64Engine

template<typename ResultType >
using mckl::Philox2x64Engine = typedef PhiloxEngine<ResultType, std::uint64_t, 2>

Philox2x64 RNG engine.

Definition at line 203 of file philox.hpp.

◆ Philox4x32

Philox4x32 RNG engine with 32-bit integer output.

Definition at line 216 of file philox.hpp.

◆ Philox4x32_64

Philox4x32 RNG engine with 64-bit integer output.

Definition at line 232 of file philox.hpp.

◆ Philox4x32Engine

template<typename ResultType >
using mckl::Philox4x32Engine = typedef PhiloxEngine<ResultType, std::uint32_t, 4>

Philox4x32 RNG engine.

Definition at line 198 of file philox.hpp.

◆ Philox4x64

Philox4x64 RNG engine with 32-bit integer output.

Definition at line 224 of file philox.hpp.

◆ Philox4x64_64

Philox4x64 RNG engine with 64-bit integer output.

Definition at line 240 of file philox.hpp.

◆ Philox4x64Engine

template<typename ResultType >
using mckl::Philox4x64Engine = typedef PhiloxEngine<ResultType, std::uint64_t, 4>

Philox4x64 RNG engine.

Definition at line 208 of file philox.hpp.

◆ PhiloxEngine

template<typename ResultType , typename T , std::size_t K, std::size_t Rounds = 10, typename Constants = PhiloxConstants<T, K>>
using mckl::PhiloxEngine = typedef CounterEngine<ResultType, PhiloxGenerator<T, K, Rounds, Constants> >

Philox RNG engine.

Definition at line 188 of file philox.hpp.