MCKL
Monte Carlo Kernel Library
Classes | Typedefs | Variables
Core

Constructing samplers with operations on the whole particle set. More...

Classes

class  mckl::Allocator< T, Mem >
 Standard library compatible allocator with policies. More...
 
class  mckl::EstimateMatrix< T >
 Estimate matrix for iterative Monte Carlo algorithms. More...
 
class  mckl::Estimator< T, Args >
 Estimator for iterative Monte Carlo algorithms. More...
 
class  mckl::Matrix< T, Layout, Alloc >
 Matrix container. More...
 
class  mckl::MemoryJEM< Alignment >
 Memory allocation using jemalloc. More...
 
class  mckl::MemorySTD< Alignment >
 Memory allocation using the standard library. More...
 
class  mckl::MemorySYS< Alignment >
 Memory allocation using native system functions. More...
 
class  mckl::MemoryTBB< Alignment >
 Memory allocation using Intel TBB. More...
 
class  mckl::Particle< T >
 Particle system. More...
 
class  mckl::ParticleIndex< T >
 A thin wrapper over a complete Particle. More...
 
class  mckl::ParticleIndexBase< T >
 A thin wrapper over a complete Particle. More...
 
class  mckl::ParticleRange< T >
 Range of ParticleIndex. More...
 
class  mckl::Range< IntType, true >
 Range of integers. More...
 
class  mckl::Range< Iterator, false >
 Range of iterators. More...
 
class  mckl::Sampler< Derived >
 Sampler for iterative Monte Carlo algorithms. More...
 
class  mckl::StateMatrix< Layout, T, Dim >
 Particle::state_type subtype. More...
 
class  mckl::StepIterator< Base >
 Iterator adapter which increment the base iterator in multiple steps. More...
 
class  mckl::Weight
 Weights of samples. More...
 

Typedefs

template<std::size_t Alignment>
using mckl::Memory = ::mckl::MemoryTBB< Alignment >
 Default memory allocation policy. More...
 
template<typename T , typename Alloc = Allocator<T>>
using mckl::Vector = std::vector< T, Alloc >
 std::vector with Allocator as the default allocator More...
 

Variables

template<typename T >
constexpr std::size_t mckl::AlignOf = internal::AlignOfImpl<T>::value
 Alignment of types in bytes. More...
 

Detailed Description

Constructing samplers with operations on the whole particle set.

Typedef Documentation

◆ Memory

template<std::size_t Alignment>
using mckl::Memory = typedef ::mckl::MemoryTBB <Alignment>

Default memory allocation policy.

Template Parameters
AlignmentThe alignment of the allocated memory

This template is aliased to the configuration macro MCKL_MEMORY_TYPE. The default precedence is as the following,

Definition at line 310 of file memory.hpp.

◆ Vector

template<typename T , typename Alloc = Allocator<T>>
using mckl::Vector = typedef std::vector<T, Alloc>

std::vector with Allocator as the default allocator

Definition at line 435 of file memory.hpp.

Variable Documentation

◆ AlignOf

template<typename T >
constexpr std::size_t mckl::AlignOf = internal::AlignOfImpl<T>::value

Alignment of types in bytes.

  • For scalar types, defined to the maximum of MCKL_ALIGNMENT and alignof(T)
  • For all other types, define to the maximum of MCKL_MINIMUM_ALIGNMENT and alignof(T).
  • For std::complex<T>, the alignment of T is used.

Definition at line 129 of file memory.hpp.