MCKL
Monte Carlo Kernel Library
Classes | Namespaces | Macros | Typedefs
philox.hpp File Reference
#include <mckl/random/internal/common.hpp>
#include <mckl/random/internal/philox_constants.hpp>
#include <mckl/random/internal/philox_generic.hpp>
#include <mckl/random/counter.hpp>
#include <mckl/random/increment.hpp>
#include <mckl/random/internal/philox_sse2.hpp>
#include <mckl/random/internal/philox_avx2.hpp>

Go to the source code of this file.

Classes

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

Namespaces

 mckl
 
 mckl::internal
 

Macros

#define MCKL_PHILOX_ROUNDS   10
 PhiloxGenerator default rounds. 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...
 
template<typename T , std::size_t K, std::size_t Rounds, typename Constants >
using mckl::internal::PhiloxGeneratorImpl = PhiloxGeneratorAVX2Impl< T, K, Rounds, Constants >