MCKL
Monte Carlo Kernel Library
Classes | Typedefs

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

Classes

class  mckl::ThreefryConstants< T, K >
 Default Threefry constants. More...
 
class  mckl::ThreefryGenerator< T, K, Rounds, Constants >
 Threefry RNG generator. More...
 

Typedefs

using mckl::Threefish1024 = Threefish1024Engine< std::uint32_t >
 Threefish-1024 RNG engine with 32-bit integer output. More...
 
using mckl::Threefish1024_64 = Threefish1024Engine< std::uint64_t >
 Threefish-1024 RNG engine with 64-bit integer output. More...
 
using mckl::Threefish256 = Threefish256Engine< std::uint32_t >
 Threefish-256 RNG engine with 32-bit integer output. More...
 
using mckl::Threefish256_64 = Threefish256Engine< std::uint64_t >
 Threefish-256 RNG engine with 64-bit integer output. More...
 
using mckl::Threefish512 = Threefish512Engine< std::uint32_t >
 Threefish-512 RNG engine with 32-bit integer output. More...
 
using mckl::Threefish512_64 = Threefish512Engine< std::uint64_t >
 Threefish-512 RNG engine with 64-bit integer output. More...
 
using mckl::Threefry16x64 = Threefry16x64Engine< std::uint32_t >
 Threefry16x64 RNG engine with 32-bit integer output. More...
 
using mckl::Threefry16x64_64 = Threefry16x64Engine< std::uint64_t >
 Threefry16x64 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Threefry16x64Engine = ThreefryEngine< ResultType, std::uint64_t, 16 >
 Threefry16x64 RNG engine. More...
 
using mckl::Threefry2x32 = Threefry2x32Engine< std::uint32_t >
 Threefry2x32 RNG engine with 32-bit integer output. More...
 
using mckl::Threefry2x32_64 = Threefry2x32Engine< std::uint64_t >
 Threefry2x32 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Threefry2x32Engine = ThreefryEngine< ResultType, std::uint32_t, 2 >
 Threefry2x32 RNG engine. More...
 
using mckl::Threefry2x64 = Threefry2x64Engine< std::uint32_t >
 Threefry2x64 RNG engine with 32-bit integer output. More...
 
using mckl::Threefry2x64_64 = Threefry2x64Engine< std::uint64_t >
 Threefry2x64 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Threefry2x64Engine = ThreefryEngine< ResultType, std::uint64_t, 2 >
 Threefry2x64 RNG engine. More...
 
using mckl::Threefry4x32 = Threefry4x32Engine< std::uint32_t >
 Threefry4x32 RNG engine with 32-bit integer output. More...
 
using mckl::Threefry4x32_64 = Threefry4x32Engine< std::uint64_t >
 Threefry4x32 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Threefry4x32Engine = ThreefryEngine< ResultType, std::uint32_t, 4 >
 Threefry4x32 RNG engine. More...
 
using mckl::Threefry4x64 = Threefry4x64Engine< std::uint32_t >
 Threefry4x64 RNG engine with 32-bit integer output. More...
 
using mckl::Threefry4x64_64 = Threefry4x64Engine< std::uint64_t >
 Threefry4x64 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Threefry4x64Engine = ThreefryEngine< ResultType, std::uint64_t, 4 >
 Threefry4x64 RNG engine. More...
 
using mckl::Threefry8x64 = Threefry8x64Engine< std::uint32_t >
 Threefry8x64 RNG engine with 32-bit integer output. More...
 
using mckl::Threefry8x64_64 = Threefry8x64Engine< std::uint64_t >
 Threefry8x64 RNG engine with 64-bit integer output. More...
 
template<typename ResultType >
using mckl::Threefry8x64Engine = ThreefryEngine< ResultType, std::uint64_t, 8 >
 Threefry8x64 RNG engine. More...
 
template<typename ResultType , typename T , std::size_t K, std::size_t Rounds = 20, typename Constants = ThreefryConstants<T, K>>
using mckl::ThreefryEngine = CounterEngine< ResultType, ThreefryGenerator< T, K, Rounds, Constants > >
 Threefry RNG engine. More...
 

Detailed Description

Random number generating using Random123 Threefry algorithm.

Typedef Documentation

◆ Threefish1024

Threefish-1024 RNG engine with 32-bit integer output.

Definition at line 291 of file threefry.hpp.

◆ Threefish1024_64

Threefish-1024 RNG engine with 64-bit integer output.

Definition at line 327 of file threefry.hpp.

◆ Threefish256

Threefish-256 RNG engine with 32-bit integer output.

Definition at line 283 of file threefry.hpp.

◆ Threefish256_64

Threefish-256 RNG engine with 64-bit integer output.

Definition at line 319 of file threefry.hpp.

◆ Threefish512

Threefish-512 RNG engine with 32-bit integer output.

Definition at line 287 of file threefry.hpp.

◆ Threefish512_64

Threefish-512 RNG engine with 64-bit integer output.

Definition at line 323 of file threefry.hpp.

◆ Threefry16x64

Threefry16x64 RNG engine with 32-bit integer output.

Definition at line 279 of file threefry.hpp.

◆ Threefry16x64_64

Threefry16x64 RNG engine with 64-bit integer output.

Definition at line 315 of file threefry.hpp.

◆ Threefry16x64Engine

template<typename ResultType >
using mckl::Threefry16x64Engine = typedef ThreefryEngine<ResultType, std::uint64_t, 16>

Threefry16x64 RNG engine.

Definition at line 243 of file threefry.hpp.

◆ Threefry2x32

Threefry2x32 RNG engine with 32-bit integer output.

Definition at line 259 of file threefry.hpp.

◆ Threefry2x32_64

Threefry2x32 RNG engine with 64-bit integer output.

Definition at line 295 of file threefry.hpp.

◆ Threefry2x32Engine

template<typename ResultType >
using mckl::Threefry2x32Engine = typedef ThreefryEngine<ResultType, std::uint32_t, 2>

Threefry2x32 RNG engine.

Definition at line 218 of file threefry.hpp.

◆ Threefry2x64

Threefry2x64 RNG engine with 32-bit integer output.

Definition at line 267 of file threefry.hpp.

◆ Threefry2x64_64

Threefry2x64 RNG engine with 64-bit integer output.

Definition at line 303 of file threefry.hpp.

◆ Threefry2x64Engine

template<typename ResultType >
using mckl::Threefry2x64Engine = typedef ThreefryEngine<ResultType, std::uint64_t, 2>

Threefry2x64 RNG engine.

Definition at line 228 of file threefry.hpp.

◆ Threefry4x32

Threefry4x32 RNG engine with 32-bit integer output.

Definition at line 263 of file threefry.hpp.

◆ Threefry4x32_64

Threefry4x32 RNG engine with 64-bit integer output.

Definition at line 299 of file threefry.hpp.

◆ Threefry4x32Engine

template<typename ResultType >
using mckl::Threefry4x32Engine = typedef ThreefryEngine<ResultType, std::uint32_t, 4>

Threefry4x32 RNG engine.

Definition at line 223 of file threefry.hpp.

◆ Threefry4x64

Threefry4x64 RNG engine with 32-bit integer output.

Definition at line 271 of file threefry.hpp.

◆ Threefry4x64_64

Threefry4x64 RNG engine with 64-bit integer output.

Definition at line 307 of file threefry.hpp.

◆ Threefry4x64Engine

template<typename ResultType >
using mckl::Threefry4x64Engine = typedef ThreefryEngine<ResultType, std::uint64_t, 4>

Threefry4x64 RNG engine.

Definition at line 233 of file threefry.hpp.

◆ Threefry8x64

Threefry8x64 RNG engine with 32-bit integer output.

Definition at line 275 of file threefry.hpp.

◆ Threefry8x64_64

Threefry8x64 RNG engine with 64-bit integer output.

Definition at line 311 of file threefry.hpp.

◆ Threefry8x64Engine

template<typename ResultType >
using mckl::Threefry8x64Engine = typedef ThreefryEngine<ResultType, std::uint64_t, 8>

Threefry8x64 RNG engine.

Definition at line 238 of file threefry.hpp.

◆ ThreefryEngine

template<typename ResultType , typename T , std::size_t K, std::size_t Rounds = 20, typename Constants = ThreefryConstants<T, K>>
using mckl::ThreefryEngine = typedef CounterEngine<ResultType, ThreefryGenerator<T, K, Rounds, Constants> >

Threefry RNG engine.

Definition at line 213 of file threefry.hpp.