MCKL
Monte Carlo Kernel Library
Classes | Namespaces | Macros | Typedefs
rng_set.hpp File Reference
#include <mckl/random/internal/common.hpp>
#include <mckl/random/rng.hpp>
#include <mckl/random/seed.hpp>
#include <tbb/enumerable_thread_specific.h>

Go to the source code of this file.

Classes

class  mckl::internal::HasRNGSetType< T >
 
class  mckl::internal::HasRNGSetTypeImpl< T >
 
class  mckl::internal::RNGSetTypeDispatch< T, bool >
 
class  mckl::internal::RNGSetTypeDispatch< T, false >
 
class  mckl::internal::RNGSetTypeDispatch< T, true >
 
class  mckl::RNGSetScalar< RNGType >
 Scalar RNG set. More...
 
class  mckl::RNGSetTBBEnumerable< RNGType, Alloc, ETSKeyType >
 Thread-local storage RNG set using tbb::enumerable_thread_specific. More...
 
class  mckl::RNGSetTypeTrait< T >
 Particle::rng_set_type trait. More...
 
class  mckl::RNGSetTypeTrait< T >
 Particle::rng_set_type trait. More...
 
class  mckl::RNGSetVector< RNGType >
 Vector RNG set. More...
 

Namespaces

 mckl
 
 mckl::internal
 

Macros

#define MCKL_RNG_SET_TYPE   ::mckl::RNGSetTBB
 Default RNG set type. More...
 

Typedefs

template<typename RNGType = typename ::mckl::RNGSetTBB <>::rng_type>
using mckl::RNGSet = ::mckl::RNGSetTBB< RNGType >
 Default RNG set. More...
 
template<typename RNGType = RNG>
using mckl::RNGSetTBB = RNGSetTBBEnumerable< RNGType, ::tbb::cache_aligned_allocator< RNGType >, ::tbb::ets_no_key >
 Thread-local storage RNG set using tbb::enumerable_thread_specific without native TLS keys. More...
 
template<typename RNGType = RNG>
using mckl::RNGSetTBBKPI = RNGSetTBBEnumerable< RNGType, ::tbb::cache_aligned_allocator< RNGType >, ::tbb::ets_key_per_instance >
 Thread-local storage RNG set using tbb::enumerable_thread_specific with native TLS keys. More...
 
template<typename T >
using mckl::RNGSetType = typename RNGSetTypeTrait< T >::type