vSMC
vSMC: Scalable Monte Carlo
Namespaces | Classes | Typedefs | Enumerations | Functions
vsmc Namespace Reference

Namespaces

 internal
 

Classes

class  AESNIGenerator
 RNG generator using AES-NI instructions. More...
 
class  AlignedAllocator
 Aligned allocator. More...
 
class  AlignedAllocator< const void, Alignment, Memory >
 
class  AlignedAllocator< void, Alignment, Memory >
 
class  AlignedMemoryMKL
 Aligned memory using Intel MKL mkl_malloc and mkl_free More...
 
class  AlignedMemorySTD
 Aligned memory using std::malloc and std::free More...
 
class  AlignedMemorySYS
 Aligned memory using native system aligned memory allocation. More...
 
class  AlignedMemoryTBB
 Aligned memory using Intel TBB scalable_aligned_malloc and scalable_aligned_free. More...
 
class  ARSKeySeq
 Default ARSEngine key sequence generator. More...
 
class  ARSWeylConstantTrait
 ARSEngine Weyl sequence constants. More...
 
class  BetaDistribution
 beta distribution More...
 
class  CauchyDistribution
 Cauchy distribution. More...
 
class  ChiSquaredDistribution
 The \(\chi^2\) distribution. More...
 
class  CounterEngine
 Counter based RNG engine. More...
 
class  Covariance
 Covariance. More...
 
class  DiscreteDistribution
 Draw a single sample given weights. More...
 
class  ExponentialDistribution
 Exponential distribution. More...
 
class  ExtremeValueDistribution
 ExtremeValue distribution. More...
 
class  FisherFDistribution
 Fisher-F distribution. More...
 
class  GammaDistribution
 Gamma distribution. More...
 
class  InitializeBase
 Initialize base dispatch class. More...
 
class  InitializeBase< T, Virtual >
 Initilaize base dispatch class. More...
 
class  InitializeOMP
 Sampler<T>::init_type subtype using OpenMP. More...
 
class  InitializeSEQ
 Sampler<T>::init_type subtype. More...
 
class  InitializeTBB
 Sampler<T>::init_type subtype using Intel Threading Building Blocks. More...
 
class  LaplaceDistribution
 Laplace distribution. More...
 
class  LevyDistribution
 Levy distribution. More...
 
class  LogisticDistribution
 Logistic distribution. More...
 
class  LognormalDistribution
 Lognormal distribution. More...
 
class  M128
 __m128 More...
 
class  M128D
 __m128d More...
 
class  M128I
 Using __m128i as integer vector. More...
 
class  M256
 __m256 More...
 
class  M256D
 __m256d More...
 
class  M256I
 Using __mm256i as integer vector. More...
 
class  MKLBase
 MKL resource management base class. More...
 
class  MKLConvTask
 MKL VSLConvTaskPtr More...
 
class  MKLCorrTask
 MKL VSLCorrTaskPtr More...
 
class  MKLDFTask
 MKL DFTaskPtr More...
 
class  MKLEngine
 MKL RNG C++11 engine. More...
 
class  MKLSSTask
 MKL VSLSSTaskPtr More...
 
class  MKLStream
 MKL VSLStreamStatePtr More...
 
class  Monitor
 Monitor for Monte Carlo integration. More...
 
class  MonitorEvalBase
 Monitor evalution base dispatch class. More...
 
class  MonitorEvalBase< T, Virtual >
 Monitor evalution base dispatch class. More...
 
class  MonitorEvalOMP
 Monitor<T>::eval_type subtype using OpenMP. More...
 
class  MonitorEvalSEQ
 Monitor<T>::eval_type subtype. More...
 
class  MonitorEvalTBB
 Monitor<T>::eval_type subtype using Intel Threading Building Blocks. More...
 
class  MoveBase
 Move base dispatch class. More...
 
class  MoveBase< T, Virtual >
 Move base dispatch class. More...
 
class  MoveOMP
 Sampler<T>::move_type subtype using OpenMP. More...
 
class  MoveSEQ
 Sampler<T>::move_type subtype. More...
 
class  MoveTBB
 Sampler<T>::move_type subtype using Intel Threading Building Blocks. More...
 
class  NormalDistribution
 Normal distribution. More...
 
class  NormalMVDistribution
 Multivariate Normal distribution. More...
 
class  NormalMVProposal
 Multivariate Normal random walk proposal. More...
 
class  NormalProposal
 Normal random walk proposal. More...
 
class  ParetoDistribution
 Pareto distribution. More...
 
class  Particle
 Particle class representing the whole particle set. More...
 
class  PhiloxGenerator
 Philox RNG generator. More...
 
class  ProgramOption
 Option base class. More...
 
class  ProgramOptionDefault
 Option with a default value. More...
 
class  ProgramOptionHelp
 Option --help More...
 
class  ProgramOptionMap
 Program options. More...
 
class  ProgramOptionScalar
 Option with a single value. More...
 
class  ProgramOptionVector
 Option with multiple values. More...
 
class  Progress
 Display a progress bar while algorithm proceed. More...
 
class  RandomWalk
 Random walk MCMC update. More...
 
class  RandomWalkG
 Random walk MCMC update with test function. More...
 
class  RayleighDistribution
 Rayleigh distribution. More...
 
class  RDRANDEngine
 RDRAND generator. More...
 
class  ResampleIndex
 Record and trace resample index. More...
 
class  ResampleMultinomial
 Multinomial resampling. More...
 
class  ResampleResidual
 Residual resampling. More...
 
class  ResampleResidualStratified
 Residual stratified resampling. More...
 
class  ResampleResidualSystematic
 Residual systematic resampling. More...
 
class  ResampleStratified
 Stratified resampling. More...
 
class  ResampleSystematic
 Systematic resampling. More...
 
class  ResampleTypeTrait
 Type trait of ResampleScheme parameter. More...
 
class  ResampleTypeTrait< Multinomial >
 Type trait of Multinomial scheme. More...
 
class  ResampleTypeTrait< Residual >
 Type trait of Residual scheme. More...
 
class  ResampleTypeTrait< ResidualStratified >
 Type trait of ResidualStratified scheme. More...
 
class  ResampleTypeTrait< ResidualSystematic >
 Type trait of ResidualSystematic scheme. More...
 
class  ResampleTypeTrait< Stratified >
 Type trait of Stratified scheme. More...
 
class  ResampleTypeTrait< Systematic >
 Type trait of Systematic scheme. More...
 
class  RNGBits
 The value of RNGMaxBits<RNGType>::value - RNGMinBits<RNGType>::value. More...
 
class  RNGMaxBits
 Find the largest N such that RNGType::max() >= (M >> (W - N)) where M = std::numeric_limits<typename RNGType::result_type>::max() W = std::numeric_limits<typename RNGType::result_type>::digits. More...
 
class  RNGMinBits
 Find the smallest N such that (RNGType::min() >> N) == 0 More...
 
class  RNGSetScalar
 Scalar RNG set. More...
 
class  RNGSetTBB
 Thread-local storage RNG set using tbb::combinable. More...
 
class  RNGSetTypeTrait
 Particle::rng_set_type trait. More...
 
class  RNGSetVector
 Vector RNG set. More...
 
class  RuntimeAssert
 
class  RuntimeWarning
 
class  Sampler
 SMC Sampler. More...
 
class  SeedGenerator
 Seed generator. More...
 
class  SeedGenerator< ID, std::array< ResultType, K > >
 Seed generator counters. More...
 
class  SingleParticle
 A thin wrapper over a complete Particle. More...
 
class  SingleParticleBase
 A thin wrapper over a complete Particle. More...
 
class  SingleParticleBaseTypeTrait
 SingleParticle base class trait. More...
 
class  SizeTypeTrait
 Particle::size_type etc., traits. More...
 
class  StateCL
 
class  StateMatrix
 
class  StateMatrix< ColMajor, Dim, T >
 Particle::value_type subtype. More...
 
class  StateMatrix< RowMajor, Dim, T >
 Particle::value_type subtype. More...
 
class  StateMatrixBase
 Base type of StateMatrix. More...
 
class  StateOMP
 Particle::value_type subtype using OpenMP. More...
 
class  StateTBB
 Particle::value_type subtype using Intel Threading Building Blocks. More...
 
class  StopWatchClockAdapter
 StopWatch as an adapter of C++11 clock. More...
 
class  StopWatchGuard
 Start and stop a StopWatch in scope (similiar to a mutex lock guard) More...
 
class  StudentTDistribution
 Student-t distribution. More...
 
class  ThreefryGenerator
 Threefry RNG generator. More...
 
class  ThreefryGeneratorAVX2
 Threefry RNG generator using AVX2. More...
 
class  ThreefryGeneratorSSE2
 Threefry RNG generator using SSE2. More...
 
class  U01CCDistribution
 Standard uniform distribution on [0, 1]. More...
 
class  U01CODistribution
 Standard uniform distribution on [0, 1) More...
 
class  U01Distribution
 Standard uniform distribution. More...
 
class  U01LRDistribution
 
class  U01OCDistribution
 Standard uniform distribution on (0, 1]. More...
 
class  U01OODistribution
 Standard uniform distribution on (0, 1) More...
 
class  U01SequenceSorted
 Generate a fixed length sequence of uniform \([0,1)\) random variates by sorting. More...
 
class  U01SequenceStratified
 Generate a fixed length sequence of uniform \([0,1)\) random variates by stratified sampling. More...
 
class  U01SequenceSystematic
 Generate a fixed length sequence of uniform \([0,1)\) random variates by systematic sampling. More...
 
class  UniformBits
 Generate uniform bits of given type. More...
 
class  UniformBitsDistribution
 Uniform bits distribution. More...
 
class  UniformRealDistribution
 Uniform real distribution. More...
 
class  WeibullDistribution
 Weibull distribution. More...
 
class  Weight
 Weight class. More...
 
class  WeightNull
 An empty weight set class. More...
 
class  WeightTypeTrait
 Particle::weight_type trait. More...
 

Typedefs

using AES128 = AES128Engine< std::uint32_t >
 AES-128 RNG engine with 32-bits integers output and default blocks. More...
 
using AES128_1x32 = AES128Engine< std::uint32_t, 1 >
 AES-128 RNG engine with 32-bits integers output and 1 block. More...
 
using AES128_1x64 = AES128Engine< std::uint64_t, 1 >
 AES-128 RNG engine with 64-bits integers output and 1 block. More...
 
using AES128_2x32 = AES128Engine< std::uint32_t, 2 >
 AES-128 RNG engine with 32-bits integers output and 2 blocks. More...
 
using AES128_2x64 = AES128Engine< std::uint64_t, 2 >
 AES-128 RNG engine with 64-bits integers output and 2 blocks. More...
 
using AES128_4x32 = AES128Engine< std::uint32_t, 4 >
 AES-128 RNG engine with 32-bits integers output and 4 blocks. More...
 
using AES128_4x64 = AES128Engine< std::uint64_t, 4 >
 AES-128 RNG engine with 64-bits integers output and 4 blocks. More...
 
using AES128_64 = AES128Engine< std::uint64_t >
 AES-128 RNG engine with 64-bits integers output and default blocks. More...
 
using AES128_8x32 = AES128Engine< std::uint32_t, 8 >
 AES-128 RNG engine with 32-bits integers output and 8 blocks. More...
 
using AES128_8x64 = AES128Engine< std::uint64_t, 8 >
 AES-128 RNG engine with 64-bits integers output and 8 blocks. More...
 
template<typename ResultType , std::size_t Blocks = 4>
using AES128Engine = AESNIEngine< ResultType, AES128KeySeq< ResultType, 10 >, 10, Blocks >
 AES-128 RNG engine. More...
 
template<typename ResultType , std::size_t Rounds>
using AES128KeySeq = internal::AESKeySeq< ResultType, Rounds, internal::AES128KeySeqGenerator< ResultType >>
 AES128Engine key sequence generator. More...
 
using AES192 = AES192Engine< std::uint32_t >
 AES-192 RNG engine with 32-bits integers output and default blocks. More...
 
using AES192_1x32 = AES192Engine< std::uint32_t, 1 >
 AES-192 RNG engine with 32-bits integers output and 1 block. More...
 
using AES192_1x64 = AES192Engine< std::uint64_t, 1 >
 AES-192 RNG engine with 64-bits integers output and 1 block. More...
 
using AES192_2x32 = AES192Engine< std::uint32_t, 2 >
 AES-192 RNG engine with 32-bits integers output and 2 blocks. More...
 
using AES192_2x64 = AES192Engine< std::uint64_t, 2 >
 AES-192 RNG engine with 64-bits integers output and 2 blocks. More...
 
using AES192_4x32 = AES192Engine< std::uint32_t, 4 >
 AES-192 RNG engine with 32-bits integers output and 4 blocks. More...
 
using AES192_4x64 = AES192Engine< std::uint64_t, 4 >
 AES-192 RNG engine with 64-bits integers output and 4 blocks. More...
 
using AES192_64 = AES192Engine< std::uint64_t >
 AES-192 RNG engine with 64-bits integers output and default blocks. More...
 
using AES192_8x32 = AES192Engine< std::uint32_t, 8 >
 AES-192 RNG engine with 32-bits integers output and 8 blocks. More...
 
using AES192_8x64 = AES192Engine< std::uint64_t, 8 >
 AES-192 RNG engine with 64-bits integers output and 8 blocks. More...
 
template<typename ResultType , std::size_t Blocks = 4>
using AES192Engine = AESNIEngine< ResultType, AES192KeySeq< ResultType, 12 >, 12, Blocks >
 AES-192 RNG engine. More...
 
template<typename ResultType , std::size_t Rounds>
using AES192KeySeq = internal::AESKeySeq< ResultType, Rounds, internal::AES192KeySeqGenerator< ResultType >>
 AES192Engine key sequence generator. More...
 
using AES256 = AES256Engine< std::uint32_t >
 AES-256 RNG engine with 32-bits integers output and default blocks. More...
 
using AES256_1x32 = AES256Engine< std::uint32_t, 1 >
 AES-256 RNG engine with 32-bits integers output and 1 block. More...
 
using AES256_1x64 = AES256Engine< std::uint64_t, 1 >
 AES-256 RNG engine with 64-bits integers output and 1 block. More...
 
using AES256_2x32 = AES256Engine< std::uint32_t, 2 >
 AES-256 RNG engine with 32-bits integers output and 2 blocks. More...
 
using AES256_2x64 = AES256Engine< std::uint64_t, 2 >
 AES-256 RNG engine with 64-bits integers output and 2 blocks. More...
 
using AES256_4x32 = AES256Engine< std::uint32_t, 4 >
 AES-256 RNG engine with 32-bits integers output and 4 blocks. More...
 
using AES256_4x64 = AES256Engine< std::uint64_t, 4 >
 AES-256 RNG engine with 64-bits integers output and 4 blocks. More...
 
using AES256_64 = AES256Engine< std::uint64_t >
 AES-256 RNG engine with 64-bits integers output and default blocks. More...
 
using AES256_8x32 = AES256Engine< std::uint32_t, 8 >
 AES-256 RNG engine with 32-bits integers output and 8 blocks. More...
 
using AES256_8x64 = AES256Engine< std::uint64_t, 8 >
 AES-256 RNG engine with 64-bits integers output and 8 blocks. More...
 
template<typename ResultType , std::size_t Blocks = 4>
using AES256Engine = AESNIEngine< ResultType, AES256KeySeq< ResultType, 14 >, 14, Blocks >
 AES-256 RNG engine. More...
 
template<typename ResultType , std::size_t Rounds>
using AES256KeySeq = internal::AESKeySeq< ResultType, Rounds, internal::AES256KeySeqGenerator< ResultType >>
 AES256Engine key sequence generator. More...
 
template<typename ResultType , typename KeySeqType , std::size_t Rounds, std::size_t Blocks>
using AESNIEngine = CounterEngine< AESNIGenerator< ResultType, KeySeqType, Rounds, Blocks >>
 RNG engine using AES-NI instructions. More...
 
using AlignedMemory = ::vsmc::AlignedMemoryTBB
 Default AlignedMemory type. More...
 
template<typename T >
using AlignedVector = std::vector< T, AlignedAllocator< T >>
 Vector type using AlignedAllocator. More...
 
template<typename T >
using Allocator = typename std::conditional< std::is_scalar< T >::value, AlignedAllocator< T >, std::allocator< T >>::type
 AlignedAllocator for scalar type and std::allocator for others. More...
 
using ARS = ARSEngine< std::uint32_t >
 ARS RNG engine with 32-bits integers output, default blocks and default rounds. More...
 
using ARS_1x32 = ARSEngine< std::uint32_t, 5, 1 >
 ARS RNG engine with 32-bits integers output, 1 block and default rounds. More...
 
using ARS_1x64 = ARSEngine< std::uint64_t, 5, 1 >
 ARS RNG engine with 64-bits integers output, 1 block and default rounds. More...
 
using ARS_2x32 = ARSEngine< std::uint32_t, 5, 2 >
 ARS RNG engine with 32-bits integers output, 2 blocks and default rounds. More...
 
using ARS_2x64 = ARSEngine< std::uint64_t, 5, 2 >
 ARS RNG engine with 64-bits integers output, 2 blocks and default rounds. More...
 
using ARS_4x32 = ARSEngine< std::uint32_t, 5, 4 >
 ARS RNG engine with 32-bits integers output, 4 blocks and default rounds. More...
 
using ARS_4x64 = ARSEngine< std::uint64_t, 5, 4 >
 ARS RNG engine with 64-bits integers output, 4 blocks and default rounds. More...
 
using ARS_64 = ARSEngine< std::uint64_t >
 ARS RNG engine with 64-bits integers output, default blocks and default rounds. More...
 
using ARS_8x32 = ARSEngine< std::uint32_t, 5, 8 >
 ARS RNG engine with 32-bits integers output, 8 blocks and default rounds. More...
 
using ARS_8x64 = ARSEngine< std::uint64_t, 5, 8 >
 ARS RNG engine with 64-bits integers output, 8 blocks and default rounds. More...
 
template<typename ResultType , std::size_t Rounds = 5, std::size_t Blocks = 4>
using ARSEngine = AESNIEngine< ResultType, ARSKeySeq< ResultType >, Rounds, Blocks >
 ARS RNG engine. More...
 
template<typename T >
using M128Type = typename std::conditional< std::is_integral< T >::value, M128I< T >, typename internal::M128TypeTrait< T >::type >::type
 floating point SSE2 type More...
 
template<typename T >
using M256Type = typename std::conditional< std::is_integral< T >::value, M256I< T >, typename internal::M256TypeTrait< T >::type >::type
 floating point SSE2 type More...
 
using MatrixOrder = MatrixLayout
 Alias to MatrixOrder. More...
 
using MKL_MCG59 = MKLEngine< VSL_BRNG_MCG59, 32 >
 A 59-bits multiplicative congruential generator. More...
 
using MKL_MCG59_64 = MKLEngine< VSL_BRNG_MCG59, 64 >
 A 59-bits multiplicative congruential generator (64-bits) More...
 
using MKL_MT19937 = MKLEngine< VSL_BRNG_MT19937, 32 >
 A Mersenne-Twister pseudoranom number genertor. More...
 
using MKL_MT19937_64 = MKLEngine< VSL_BRNG_MT19937, 64 >
 A Mersenne-Twister pseudoranom number genertor (64-bits) More...
 
using MKL_MT2203 = MKLEngine< VSL_BRNG_MT2203, 32 >
 A set of 6024 Mersenne-Twister pseudoranom number genertor. More...
 
using MKL_MT2203_64 = MKLEngine< VSL_BRNG_MT2203, 64 >
 A set of 6024 Mersenne-Twister pseudoranom number genertor (64-bits) More...
 
using MKL_NONDETERM = MKLEngine< VSL_BRNG_NONDETERM, 32 >
 A non-determinstic random number generator. More...
 
using MKL_NONDETERM_64 = MKLEngine< VSL_BRNG_NONDETERM, 64 >
 A non-determinstic random number generator (64-bits) More...
 
using MKL_SFMT19937 = MKLEngine< VSL_BRNG_SFMT19937, 32 >
 A SIMD-oriented fast Mersenne-Twister pseudoranom number genertor. More...
 
using MKL_SFMT19937_64 = MKLEngine< VSL_BRNG_SFMT19937, 64 >
 A SIMD-oriented fast Mersenne-Twister pseudoranom number genertor (64-bits) More...
 
using Philox = PhiloxEngine< std::uint32_t >
 The default 32-bits Philox engine. More...
 
using Philox2x32 = PhiloxEngine< std::uint32_t, 2 >
 Philox2x32 RNG engine. More...
 
using Philox2x64 = PhiloxEngine< std::uint64_t, 2 >
 Philox2x64 RNG engine. More...
 
using Philox4x32 = PhiloxEngine< std::uint32_t, 4 >
 Philox4x32 RNG engine. More...
 
using Philox4x64 = PhiloxEngine< std::uint64_t, 4 >
 Philox4x64 RNG engine. More...
 
using Philox_64 = PhiloxEngine< std::uint64_t >
 The default 64-bits Philox engine. More...
 
template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 10>
using PhiloxEngine = CounterEngine< PhiloxGenerator< ResultType, K, Rounds >>
 Philox RNG engine. More...
 
using RDRAND16 = RDRANDEngine< std::uint16_t >
 C++11 Engine using 16-bits RDRAND instruction. More...
 
using RDRAND32 = RDRANDEngine< std::uint32_t >
 C++11 Engine using 32-bits RDRAND instruction. More...
 
using RDRAND64 = RDRANDEngine< std::uint64_t >
 C++11 Engine using 64-bits RDRAND instruction. More...
 
template<ResampleScheme Scheme>
using ResampleType = typename ResampleTypeTrait< Scheme >::type
 Type of resample class corresponding to ResampleScheme parameter. More...
 
using RNG = ::vsmc::ThreefryAVX2
 
using RNGSet = ::vsmc::RNGSetTBB<::vsmc::RNG >
 
template<typename T >
using RNGSetType = typename RNGSetTypeTrait< T >::type
 
using Seed = SeedGenerator< NullType, unsigned >
 The default Seed type. More...
 
template<typename T >
using SingleParticleBaseType = typename SingleParticleBaseTypeTrait< T >::type
 
template<typename T >
using SizeType = typename SizeTypeTrait< T >::type
 
template<typename StateBase >
using StateSEQ = StateBase
 Particle::value_type subtype. More...
 
using StopWatch = StopWatchClockAdapter< std::chrono::high_resolution_clock >
 Stop watch using <chrono> More...
 
using Threefry = ThreefryEngine< std::uint32_t >
 The default 32-bits Threefry engine. More...
 
using Threefry2x32 = ThreefryEngine< std::uint32_t, 2 >
 Threefry2x32 RNG engine. More...
 
using Threefry2x32AVX2 = ThreefryEngineAVX2< std::uint32_t, 2 >
 Threefry2x32 RNG engine using AVX2. More...
 
using Threefry2x32SSE2 = ThreefryEngineSSE2< std::uint32_t, 2 >
 Threefry2x32 RNG engine using SSE2. More...
 
using Threefry2x64 = ThreefryEngine< std::uint64_t, 2 >
 Threefry2x64 RNG engine. More...
 
using Threefry2x64AVX2 = ThreefryEngineAVX2< std::uint64_t, 2 >
 Threefry2x64 RNG engine using AVX2. More...
 
using Threefry2x64SSE2 = ThreefryEngineSSE2< std::uint64_t, 2 >
 Threefry2x64 RNG engine using SSE2. More...
 
using Threefry4x32 = ThreefryEngine< std::uint32_t, 4 >
 Threefry4x32 RNG engine. More...
 
using Threefry4x32AVX2 = ThreefryEngineAVX2< std::uint32_t, 4 >
 Threefry4x32 RNG engine using AVX2. More...
 
using Threefry4x32SSE2 = ThreefryEngineSSE2< std::uint32_t, 4 >
 Threefry4x32 RNG engine using SSE2. More...
 
using Threefry4x64 = ThreefryEngine< std::uint64_t, 4 >
 Threefry4x64 RNG engine. More...
 
using Threefry4x64AVX2 = ThreefryEngineAVX2< std::uint64_t, 4 >
 Threefry4x64 RNG engine using AVX2. More...
 
using Threefry4x64SSE2 = ThreefryEngineSSE2< std::uint64_t, 4 >
 Threefry4x64 RNG engine using SSE2. More...
 
using Threefry_64 = ThreefryEngine< std::uint64_t >
 The default 64-bits Threefry engine. More...
 
using ThreefryAVX2 = ThreefryEngineAVX2< std::uint32_t >
 The default 32-bits Threefry engine using AVX2. More...
 
using ThreefryAVX2_64 = ThreefryEngineAVX2< std::uint64_t >
 The default 64-bits Threefry engine using AVX2. More...
 
template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using ThreefryEngine = CounterEngine< ThreefryGenerator< ResultType, K, Rounds >>
 Threefry RNG engine. More...
 
template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using ThreefryEngineAVX2 = CounterEngine< ThreefryGeneratorAVX2< ResultType, K, Rounds >>
 Threefry RNG engine using AVX2. More...
 
template<typename ResultType , std::size_t K = 4, std::size_t Rounds = 20>
using ThreefryEngineSSE2 = CounterEngine< ThreefryGeneratorSSE2< ResultType, K, Rounds >>
 Threefry RNG engine using SSE2. More...
 
using ThreefrySSE2 = ThreefryEngineSSE2< std::uint32_t >
 The default 32-bits Threefry engine using SSE2. More...
 
using ThreefrySSE2_64 = ThreefryEngineSSE2< std::uint64_t >
 The default 64-bits ThreefrySSE2 engine using SSE2. More...
 
template<typename T >
using Vector = typename std::conditional< std::is_scalar< T >::value, AlignedVector< T >, std::vector< T >>::type
 AlignedVector for scalar type and std::vector for others. More...
 
template<typename T >
using WeightType = typename WeightTypeTrait< T >::type
 

Enumerations

enum  { Dynamic = 0 }
 Dynamic dimension. More...
 
enum  MatrixLayout {
  RowMajor = 101,
  ColMajor = 102
}
 Matrix layout. More...
 
enum  MonitorStage {
  MonitorMove,
  MonitorResample,
  MonitorMCMC
}
 Monitor stage. More...
 
enum  ResampleScheme {
  Multinomial,
  Stratified,
  Systematic,
  Residual,
  ResidualStratified,
  ResidualSystematic
}
 Resampling schemes. More...
 

Functions

void abs (std::size_t n, const float *a, float *y)
 
void abs (std::size_t n, const double *a, double *y)
 
template<typename T >
void abs (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = |a_i|\). More...
 
void acos (std::size_t n, const double *a, double *y)
 
void acos (std::size_t n, const float *a, float *y)
 
template<typename T >
void acos (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \arccos(a_i)\). More...
 
void acosh (std::size_t n, const float *a, float *y)
 
void acosh (std::size_t n, const double *a, double *y)
 
template<typename T >
void acosh (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \mathrm{arc}\cosh(a_i)\). More...
 
void add (std::size_t n, const float *a, const float *b, float *y)
 
void add (std::size_t n, const double *a, const double *b, double *y)
 
template<typename T >
void add (std::size_t n, const T *a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i + b_i\). More...
 
template<typename T >
void add (std::size_t n, const T *a, T b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i + b\). More...
 
template<typename T >
void add (std::size_t n, T a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a + b_i\). More...
 
void asin (std::size_t n, const float *a, float *y)
 
void asin (std::size_t n, const double *a, double *y)
 
template<typename T >
void asin (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \arcsin(a_i)\). More...
 
void asinh (std::size_t n, const float *a, float *y)
 
void asinh (std::size_t n, const double *a, double *y)
 
template<typename T >
void asinh (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \mathrm{arc}\sinh(a_i)\). More...
 
void atan (std::size_t n, const float *a, float *y)
 
void atan (std::size_t n, const double *a, double *y)
 
template<typename T >
void atan (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \arctan(a_i)\). More...
 
void atan2 (std::size_t n, const float *a, const float *b, float *y)
 
void atan2 (std::size_t n, const double *a, const double *b, double *y)
 
template<typename T >
void atan2 (std::size_t n, const T *a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \arctan(a_i / b_i)\) with signs to determine the quadrant. More...
 
void atanh (std::size_t n, const float *a, float *y)
 
void atanh (std::size_t n, const double *a, double *y)
 
template<typename T >
void atanh (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \mathrm{arc}\tanh(a_i)\). More...
 
template<typename RealType , typename RNGType >
void beta_distribution (RNGType &rng, std::size_t n, RealType *r, RealType alpha, RealType beta)
 Generating beta random variates. More...
 
template<typename RealType , typename RNGType >
void beta_distribution (RNGType &rng, std::size_t n, RealType *r, const typename BetaDistribution< RealType >::param_type &param)
 
template<MKL_INT BRNG, int Bits>
void beta_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void beta_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<typename RealType , typename RNGType >
void cauchy_distribution (RNGType &rng, std::size_t n, RealType *r, RealType a, RealType b)
 Generating cauchy random variates. More...
 
template<typename RealType , typename RNGType >
void cauchy_distribution (RNGType &rng, std::size_t n, RealType *r, const typename CauchyDistribution< RealType >::param_type &param)
 
template<MKL_INT BRNG, int Bits>
void cauchy_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void cauchy_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
void cbrt (std::size_t n, const float *a, float *y)
 
void cbrt (std::size_t n, const double *a, double *y)
 
template<typename T >
void cbrt (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \sqrt[3]{a_i}\). More...
 
void cdfnorm (std::size_t n, const double *a, double *y)
 
void cdfnorm (std::size_t n, const float *a, float *y)
 
template<typename T >
void cdfnorm (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = 1 - \mathrm{Erfc}(a_i / \sqrt{2}) / 2\), the standard Normal CDF. More...
 
void cdfnorminv (std::size_t n, const double *a, double *y)
 
void cdfnorminv (std::size_t n, const float *a, float *y)
 
template<typename RealType , typename RNGType >
void chi_squared_distribution (RNGType &rng, std::size_t n, RealType *r, RealType df)
 Generating \(\chi^2\) random variates. More...
 
template<typename RealType , typename RNGType >
void chi_squared_distribution (RNGType &rng, std::size_t n, RealType *r, const typename ChiSquaredDistribution< RealType >::param_type &param)
 
template<typename T >
constexpr T const_e () noexcept
 \(e\) More...
 
template<>
constexpr double const_e< double > () noexcept
 
template<>
constexpr float const_e< float > () noexcept
 
template<>
constexpr long double const_e< long double > () noexcept
 
template<typename T >
constexpr T const_e_inv () noexcept
 \(1/e\) More...
 
template<>
constexpr double const_e_inv< double > () noexcept
 
template<>
constexpr float const_e_inv< float > () noexcept
 
template<>
constexpr long double const_e_inv< long double > () noexcept
 
template<typename T >
constexpr T const_ln_10 () noexcept
 \(\ln(10)\) More...
 
template<>
constexpr double const_ln_10< double > () noexcept
 
template<>
constexpr float const_ln_10< float > () noexcept
 
template<>
constexpr long double const_ln_10< long double > () noexcept
 
template<typename T >
constexpr T const_ln_2 () noexcept
 \(\ln(2)\) More...
 
template<>
constexpr double const_ln_2< double > () noexcept
 
template<>
constexpr float const_ln_2< float > () noexcept
 
template<>
constexpr long double const_ln_2< long double > () noexcept
 
template<typename T >
constexpr T const_ln_3 () noexcept
 \(\ln(3)\) More...
 
template<>
constexpr double const_ln_3< double > () noexcept
 
template<>
constexpr float const_ln_3< float > () noexcept
 
template<>
constexpr long double const_ln_3< long double > () noexcept
 
template<typename T >
constexpr T const_ln_5 () noexcept
 \(\ln(5)\) More...
 
template<>
constexpr double const_ln_5< double > () noexcept
 
template<>
constexpr float const_ln_5< float > () noexcept
 
template<>
constexpr long double const_ln_5< long double > () noexcept
 
template<typename T >
constexpr T const_ln_inv_10 () noexcept
 \(1/\ln(10)\) More...
 
template<>
constexpr double const_ln_inv_10< double > () noexcept
 
template<>
constexpr float const_ln_inv_10< float > () noexcept
 
template<>
constexpr long double const_ln_inv_10< long double > () noexcept
 
template<typename T >
constexpr T const_ln_inv_2 () noexcept
 \(1/\ln(2)\) More...
 
template<>
constexpr double const_ln_inv_2< double > () noexcept
 
template<>
constexpr float const_ln_inv_2< float > () noexcept
 
template<>
constexpr long double const_ln_inv_2< long double > () noexcept
 
template<typename T >
constexpr T const_ln_inv_3 () noexcept
 \(1/\ln(3)\) More...
 
template<>
constexpr double const_ln_inv_3< double > () noexcept
 
template<>
constexpr float const_ln_inv_3< float > () noexcept
 
template<>
constexpr long double const_ln_inv_3< long double > () noexcept
 
template<typename T >
constexpr T const_ln_inv_5 () noexcept
 \(1/\ln(5)\) More...
 
template<>
constexpr double const_ln_inv_5< double > () noexcept
 
template<>
constexpr float const_ln_inv_5< float > () noexcept
 
template<>
constexpr long double const_ln_inv_5< long double > () noexcept
 
template<typename T >
constexpr T const_ln_ln_2 () noexcept
 \(\ln(\ln(2))\) More...
 
template<>
constexpr double const_ln_ln_2< double > () noexcept
 
template<>
constexpr float const_ln_ln_2< float > () noexcept
 
template<>
constexpr long double const_ln_ln_2< long double > () noexcept
 
template<typename T >
constexpr T const_ln_pi () noexcept
 \(\ln(\pi)\) More...
 
template<>
constexpr double const_ln_pi< double > () noexcept
 
template<>
constexpr float const_ln_pi< float > () noexcept
 
template<>
constexpr long double const_ln_pi< long double > () noexcept
 
template<typename T >
constexpr T const_ln_pi_2 () noexcept
 \(\ln(2\pi)\) More...
 
template<>
constexpr double const_ln_pi_2< double > () noexcept
 
template<>
constexpr float const_ln_pi_2< float > () noexcept
 
template<>
constexpr long double const_ln_pi_2< long double > () noexcept
 
template<typename T >
constexpr T const_ln_pi_2by3 () noexcept
 \(\ln((2/3)\pi)\) More...
 
template<>
constexpr double const_ln_pi_2by3< double > () noexcept
 
template<>
constexpr float const_ln_pi_2by3< float > () noexcept
 
template<>
constexpr long double const_ln_pi_2by3< long double > () noexcept
 
template<typename T >
constexpr T const_ln_pi_3by4 () noexcept
 \(\ln((3/4)\pi)\) More...
 
template<>
constexpr double const_ln_pi_3by4< double > () noexcept
 
template<>
constexpr float const_ln_pi_3by4< float > () noexcept
 
template<>
constexpr long double const_ln_pi_3by4< long double > () noexcept
 
template<typename T >
constexpr T const_ln_pi_4by3 () noexcept
 \(\ln((4/3)\pi)\) More...
 
template<>
constexpr double const_ln_pi_4by3< double > () noexcept
 
template<>
constexpr float const_ln_pi_4by3< float > () noexcept
 
template<>
constexpr long double const_ln_pi_4by3< long double > () noexcept
 
template<typename T >
constexpr T const_ln_pi_by2 () noexcept
 \(\ln(\pi/2)\) More...
 
template<>
constexpr double const_ln_pi_by2< double > () noexcept
 
template<>
constexpr float const_ln_pi_by2< float > () noexcept
 
template<>
constexpr long double const_ln_pi_by2< long double > () noexcept
 
template<typename T >
constexpr T const_ln_pi_by3 () noexcept
 \(\ln(\pi/3)\) More...
 
template<>
constexpr double const_ln_pi_by3< double > () noexcept
 
template<>
constexpr float const_ln_pi_by3< float > () noexcept
 
template<>
constexpr long double const_ln_pi_by3< long double > () noexcept
 
template<typename T >
constexpr T const_ln_pi_by4 () noexcept
 \(\ln(\pi/4)\) More...
 
template<>
constexpr double const_ln_pi_by4< double > () noexcept
 
template<>
constexpr float const_ln_pi_by4< float > () noexcept
 
template<>
constexpr long double const_ln_pi_by4< long double > () noexcept
 
template<typename T >
constexpr T const_ln_pi_by6 () noexcept
 \(\ln(\pi/6)\) More...
 
template<>
constexpr double const_ln_pi_by6< double > () noexcept
 
template<>
constexpr float const_ln_pi_by6< float > () noexcept
 
template<>
constexpr long double const_ln_pi_by6< long double > () noexcept
 
template<typename T >
constexpr T const_pi () noexcept
 \(\pi\) More...
 
template<>
constexpr double const_pi< double > () noexcept
 
template<>
constexpr float const_pi< float > () noexcept
 
template<>
constexpr long double const_pi< long double > () noexcept
 
template<typename T >
constexpr T const_pi_2 () noexcept
 \(2\pi\) More...
 
template<>
constexpr double const_pi_2< double > () noexcept
 
template<>
constexpr float const_pi_2< float > () noexcept
 
template<>
constexpr long double const_pi_2< long double > () noexcept
 
template<typename T >
constexpr T const_pi_2by3 () noexcept
 \((2/3)\pi\) More...
 
template<>
constexpr double const_pi_2by3< double > () noexcept
 
template<>
constexpr float const_pi_2by3< float > () noexcept
 
template<>
constexpr long double const_pi_2by3< long double > () noexcept
 
template<typename T >
constexpr T const_pi_3by4 () noexcept
 \((3/4)\pi\) More...
 
template<>
constexpr double const_pi_3by4< double > () noexcept
 
template<>
constexpr float const_pi_3by4< float > () noexcept
 
template<>
constexpr long double const_pi_3by4< long double > () noexcept
 
template<typename T >
constexpr T const_pi_4by3 () noexcept
 \((4/3)\pi\) More...
 
template<>
constexpr double const_pi_4by3< double > () noexcept
 
template<>
constexpr float const_pi_4by3< float > () noexcept
 
template<>
constexpr long double const_pi_4by3< long double > () noexcept
 
template<typename T >
constexpr T const_pi_by2 () noexcept
 \(\pi/2\) More...
 
template<>
constexpr double const_pi_by2< double > () noexcept
 
template<>
constexpr float const_pi_by2< float > () noexcept
 
template<>
constexpr long double const_pi_by2< long double > () noexcept
 
template<typename T >
constexpr T const_pi_by3 () noexcept
 \(\pi/3\) More...
 
template<>
constexpr double const_pi_by3< double > () noexcept
 
template<>
constexpr float const_pi_by3< float > () noexcept
 
template<>
constexpr long double const_pi_by3< long double > () noexcept
 
template<typename T >
constexpr T const_pi_by4 () noexcept
 \(\pi/4\) More...
 
template<>
constexpr double const_pi_by4< double > () noexcept
 
template<>
constexpr float const_pi_by4< float > () noexcept
 
template<>
constexpr long double const_pi_by4< long double > () noexcept
 
template<typename T >
constexpr T const_pi_by6 () noexcept
 \(\pi/6\) More...
 
template<>
constexpr double const_pi_by6< double > () noexcept
 
template<>
constexpr float const_pi_by6< float > () noexcept
 
template<>
constexpr long double const_pi_by6< long double > () noexcept
 
template<typename T >
constexpr T const_pi_inv () noexcept
 \(1/\pi\) More...
 
template<>
constexpr double const_pi_inv< double > () noexcept
 
template<>
constexpr float const_pi_inv< float > () noexcept
 
template<>
constexpr long double const_pi_inv< long double > () noexcept
 
template<typename T >
constexpr T const_pi_sqr () noexcept
 \(\pi^2\) More...
 
template<>
constexpr double const_pi_sqr< double > () noexcept
 
template<>
constexpr float const_pi_sqr< float > () noexcept
 
template<>
constexpr long double const_pi_sqr< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_10 () noexcept
 \(\sqrt{10}\) More...
 
template<>
constexpr double const_sqrt_10< double > () noexcept
 
template<>
constexpr float const_sqrt_10< float > () noexcept
 
template<>
constexpr long double const_sqrt_10< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_1by10 () noexcept
 \(\sqrt{1/10}\) More...
 
template<>
constexpr double const_sqrt_1by10< double > () noexcept
 
template<>
constexpr float const_sqrt_1by10< float > () noexcept
 
template<>
constexpr long double const_sqrt_1by10< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_1by2 () noexcept
 \(\sqrt{1/2}\) More...
 
template<>
constexpr double const_sqrt_1by2< double > () noexcept
 
template<>
constexpr float const_sqrt_1by2< float > () noexcept
 
template<>
constexpr long double const_sqrt_1by2< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_1by3 () noexcept
 \(\sqrt{1/3}\) More...
 
template<>
constexpr double const_sqrt_1by3< double > () noexcept
 
template<>
constexpr float const_sqrt_1by3< float > () noexcept
 
template<>
constexpr long double const_sqrt_1by3< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_1by5 () noexcept
 \(\sqrt{1/5}\) More...
 
template<>
constexpr double const_sqrt_1by5< double > () noexcept
 
template<>
constexpr float const_sqrt_1by5< float > () noexcept
 
template<>
constexpr long double const_sqrt_1by5< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_2 () noexcept
 \(\sqrt{2}\) More...
 
template<>
constexpr double const_sqrt_2< double > () noexcept
 
template<>
constexpr float const_sqrt_2< float > () noexcept
 
template<>
constexpr long double const_sqrt_2< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_3 () noexcept
 \(\sqrt{3}\) More...
 
template<>
constexpr double const_sqrt_3< double > () noexcept
 
template<>
constexpr float const_sqrt_3< float > () noexcept
 
template<>
constexpr long double const_sqrt_3< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_5 () noexcept
 \(\sqrt{5}\) More...
 
template<>
constexpr double const_sqrt_5< double > () noexcept
 
template<>
constexpr float const_sqrt_5< float > () noexcept
 
template<>
constexpr long double const_sqrt_5< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_e () noexcept
 \(\sqrt{e}\) More...
 
template<>
constexpr double const_sqrt_e< double > () noexcept
 
template<>
constexpr float const_sqrt_e< float > () noexcept
 
template<>
constexpr long double const_sqrt_e< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_e_inv () noexcept
 \(\sqrt{1/e}\) More...
 
template<>
constexpr double const_sqrt_e_inv< double > () noexcept
 
template<>
constexpr float const_sqrt_e_inv< float > () noexcept
 
template<>
constexpr long double const_sqrt_e_inv< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi () noexcept
 \(\sqrt{\pi}\) More...
 
template<>
constexpr double const_sqrt_pi< double > () noexcept
 
template<>
constexpr float const_sqrt_pi< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi_2 () noexcept
 \(\sqrt{2\pi}\) More...
 
template<>
constexpr double const_sqrt_pi_2< double > () noexcept
 
template<>
constexpr float const_sqrt_pi_2< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi_2< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi_2by3 () noexcept
 \(\sqrt{(2/3)\pi}\) More...
 
template<>
constexpr double const_sqrt_pi_2by3< double > () noexcept
 
template<>
constexpr float const_sqrt_pi_2by3< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi_2by3< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi_3by4 () noexcept
 \(\sqrt{(3/4)\pi/}\) More...
 
template<>
constexpr double const_sqrt_pi_3by4< double > () noexcept
 
template<>
constexpr float const_sqrt_pi_3by4< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi_3by4< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi_4by3 () noexcept
 \(\sqrt{(4/3)\pi}\) More...
 
template<>
constexpr double const_sqrt_pi_4by3< double > () noexcept
 
template<>
constexpr float const_sqrt_pi_4by3< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi_4by3< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi_by2 () noexcept
 \(\sqrt{\pi/2}\) More...
 
template<>
constexpr double const_sqrt_pi_by2< double > () noexcept
 
template<>
constexpr float const_sqrt_pi_by2< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi_by2< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi_by3 () noexcept
 \(\sqrt{\pi/3}\) More...
 
template<>
constexpr double const_sqrt_pi_by3< double > () noexcept
 
template<>
constexpr float const_sqrt_pi_by3< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi_by3< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi_by4 () noexcept
 \(\sqrt{\pi/4}\) More...
 
template<>
constexpr double const_sqrt_pi_by4< double > () noexcept
 
template<>
constexpr float const_sqrt_pi_by4< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi_by4< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi_by6 () noexcept
 \(\sqrt{\pi/6}\) More...
 
template<>
constexpr double const_sqrt_pi_by6< double > () noexcept
 
template<>
constexpr float const_sqrt_pi_by6< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi_by6< long double > () noexcept
 
template<typename T >
constexpr T const_sqrt_pi_inv () noexcept
 \(\sqrt{1/\pi}\) More...
 
template<>
constexpr double const_sqrt_pi_inv< double > () noexcept
 
template<>
constexpr float const_sqrt_pi_inv< float > () noexcept
 
template<>
constexpr long double const_sqrt_pi_inv< long double > () noexcept
 
void cos (std::size_t n, const float *a, float *y)
 
void cos (std::size_t n, const double *a, double *y)
 
template<typename T >
void cos (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \sin(a_i)\). More...
 
void cosh (std::size_t n, const float *a, float *y)
 
void cosh (std::size_t n, const double *a, double *y)
 
template<typename T >
void cosh (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \cosh(a_i)\). More...
 
template<typename RealType >
int cov_chol (std::size_t dim, const RealType *cov, RealType *chol, MatrixLayout layout=RowMajor, bool upper=false, bool packed=false)
 Compute Cholesky decomposition of the covariance matrix. More...
 
void div (std::size_t n, const float *a, const float *b, float *y)
 
void div (std::size_t n, const double *a, const double *b, double *y)
 
template<typename T >
void div (std::size_t n, const T *a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i / b_i\). More...
 
template<typename T >
void div (std::size_t n, const T *a, T b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i / b\). More...
 
template<typename T >
void div (std::size_t n, T a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a / b_i\). More...
 
void erf (std::size_t n, const float *a, float *y)
 
void erf (std::size_t n, const double *a, double *y)
 
template<typename T >
void erf (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \mathrm{Erf}(a_i)\). More...
 
void erfc (std::size_t n, const float *a, float *y)
 
void erfc (std::size_t n, const double *a, double *y)
 
template<typename T >
void erfc (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \mathrm{Erfc}(a_i) = \mathrm{Erf}(1 - a_i)\). More...
 
void erfcinv (std::size_t n, const float *a, float *y)
 
void erfcinv (std::size_t n, const double *a, double *y)
 
void erfinv (std::size_t n, const float *a, float *y)
 
void erfinv (std::size_t n, const double *a, double *y)
 
void exp (std::size_t n, const float *a, float *y)
 
void exp (std::size_t n, const double *a, double *y)
 
template<typename T >
void exp (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = e^{a_i}\). More...
 
template<typename T >
void exp10 (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = 10^{a_i}\). More...
 
template<typename T >
void exp2 (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = 2^{a_i}\). More...
 
void expm1 (std::size_t n, const float *a, float *y)
 
void expm1 (std::size_t n, const double *a, double *y)
 
template<typename T >
void expm1 (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = e^{a_i} - 1\). More...
 
template<typename RealType , typename RNGType >
void exponential_distribution (RNGType &rng, std::size_t n, RealType *r, RealType lambda)
 Generating exponential random variates. More...
 
template<typename RealType , typename RNGType >
void exponential_distribution (RNGType &rng, std::size_t n, RealType *r, const typename ExponentialDistribution< RealType >::param_type &param)
 
template<MKL_INT BRNG, int Bits>
void exponential_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float)
 
template<MKL_INT BRNG, int Bits>
void exponential_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double)
 
template<typename RealType , typename RNGType >
void extreme_value_distribution (RNGType &rng, std::size_t n, RealType *r, RealType a, RealType b)
 Generating extreme_value random variates. More...
 
template<typename RealType , typename RNGType >
void extreme_value_distribution (RNGType &rng, std::size_t n, RealType *r, const typename ExtremeValueDistribution< RealType >::param_type &param)
 
template<MKL_INT BRNG, int Bits>
void extreme_value_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void extreme_value_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<typename RealType , typename RNGType >
void fisher_f_distribution (RNGType &rng, std::size_t n, RealType *r, RealType df1, RealType df2)
 Generating Fisher-F random variates. More...
 
template<typename RealType , typename RNGType >
void fisher_f_distribution (RNGType &rng, std::size_t n, RealType *r, const typename FisherFDistribution< RealType >::param_type &param)
 
template<typename T >
void fma (std::size_t n, const T *a, const T *b, const T *c, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i * b_i + c_i\). More...
 
template<typename T >
void fma (std::size_t n, const T *a, const T *b, T c, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i * b_i + c\). More...
 
template<typename T >
void fma (std::size_t n, const T *a, T b, const T *c, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i * b + c_i\). More...
 
template<typename T >
void fma (std::size_t n, const T *a, T b, T c, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i * b + c\). More...
 
template<typename T >
void fma (std::size_t n, T a, const T *b, const T *c, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a * b_i + c_i\). More...
 
template<typename T >
void fma (std::size_t n, T a, const T *b, T c, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a * b_i + c\). More...
 
template<typename T >
void fma (std::size_t n, T a, T b, const T *c, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a * b + c_i\). More...
 
template<typename RealType , typename RNGType >
void gamma_distribution (RNGType &rng, std::size_t n, RealType *r, RealType alpha, RealType beta)
 Generating gamma random variates. More...
 
template<typename RealType , typename RNGType >
void gamma_distribution (RNGType &rng, std::size_t n, RealType *r, const typename GammaDistribution< RealType >::param_type &param)
 
template<MKL_INT BRNG, int Bits>
void gamma_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void gamma_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<typename >
inline::hid_t hdf5io_datatype ()
 HDF5 data type. More...
 
template<>
inline::hid_t hdf5io_datatype< char > ()
 HDF5 data type specialization for char. More...
 
template<>
inline::hid_t hdf5io_datatype< double > ()
 HDF5 data type specialization for double. More...
 
template<>
inline::hid_t hdf5io_datatype< float > ()
 HDF5 data type specialization for float. More...
 
template<>
inline::hid_t hdf5io_datatype< int > ()
 HDF5 data type specialization for int. More...
 
template<>
inline::hid_t hdf5io_datatype< long > ()
 HDF5 data type specialization for long. More...
 
template<>
inline::hid_t hdf5io_datatype< long double > ()
 HDF5 data type specialization for long double. More...
 
template<>
inline::hid_t hdf5io_datatype< long long > ()
 HDF5 data type specialization for long long. More...
 
template<>
inline::hid_t hdf5io_datatype< short > ()
 HDF5 data type specialization for short. More...
 
template<>
inline::hid_t hdf5io_datatype< signed char > ()
 HDF5 data type specialization for signed char. More...
 
template<>
inline::hid_t hdf5io_datatype< unsigned char > ()
 HDF5 data type specialization for unsigned char. More...
 
template<>
inline::hid_t hdf5io_datatype< unsigned int > ()
 HDF5 data type specialization for unsigned int. More...
 
template<>
inline::hid_t hdf5io_datatype< unsigned long > ()
 HDF5 data type specialization for unsigned long. More...
 
template<>
inline::hid_t hdf5io_datatype< unsigned long long > ()
 HDF5 data type specialization for unsigned long. More...
 
template<>
inline::hid_t hdf5io_datatype< unsigned short > ()
 HDF5 data type specialization for unsigned short. More...
 
template<typename T , typename OutputIter >
OutputIter hdf5load (const std::string &file_name, const std::string &data_name, OutputIter first)
 Load raw data in the HDF5 format. More...
 
inline::hsize_t hdf5size (const std::string &file_name, const std::string &data_name)
 Get the number of bytes of the data in the HDF5 format. More...
 
template<typename T >
void hdf5store (const Sampler< T > &sampler, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a Sampler in the HDF5 format. More...
 
template<MatrixLayout Layout, std::size_t Dim, typename T >
void hdf5store (const StateMatrix< Layout, Dim, T > &state, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a StateMatrix in the HDF5 format. More...
 
template<MatrixLayout Layout, typename T , std::size_t StateSize, typename RealType , typename ID >
void hdf5store (const StateCL< StateSize, RealType, ID > &state, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a StateCL in the HDF5 format. More...
 
template<typename T >
void hdf5store (const Particle< T > &particle, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a Particle in the HDF5 format. More...
 
template<MatrixLayout Layout, typename T , typename U >
void hdf5store (const Particle< U > &particle, const std::string &file_name, const std::string &data_name, bool append=false)
 Store a Particle with StateCL value type in the HDF5 format. More...
 
template<typename T , typename InputIterIter , typename SInputIter >
void hdf5store_list (std::size_t nrow, std::size_t ncol, const std::string &file_name, const std::string &data_name, InputIterIter first, SInputIter sfirst, bool append=false)
 Store a list in the HDF5 format from an iterator to iterators. More...
 
template<typename SInputIter , typename InputIter , typename... InputIters>
void hdf5store_list (std::size_t nrow, const std::string &file_name, const std::string &data_name, const std::tuple< InputIter, InputIters... > &first, SInputIter sfirst, bool append=false)
 Store a list in the HDF5 format from tuple of iterators. More...
 
void hdf5store_list_empty (const std::string &file_name, const std::string &data_name, bool append=false)
 Create an empty list. More...
 
template<typename T , typename InputIter >
void hdf5store_list_insert (std::size_t N, const std::string &file_name, const std::string &data_name, InputIter first, const std::string &vname)
 Insert a variable into an existing list saved in HDF5 format. More...
 
template<MatrixLayout Layout, typename T , typename InputIter >
InputIter hdf5store_matrix (std::size_t nrow, std::size_t ncol, const std::string &file_name, const std::string &data_name, InputIter first, bool append=false)
 Store a matrix in the HDF5 format from an input iterator. More...
 
void hdf5store_new (const std::string &file_name)
 Create a new HDF5 file for store data. More...
 
void hypot (std::size_t n, const float *a, const float *b, float *y)
 
void hypot (std::size_t n, const double *a, const double *b, double *y)
 
template<typename T >
void hypot (std::size_t n, const T *a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \sqrt{a_i^2 + b_i^2}\). More...
 
template<typename T , std::size_t K>
void increment (std::array< T, K > &ctr)
 Increment a counter by one. More...
 
template<typename T , std::size_t K, T NSkip>
void increment (std::array< T, K > &ctr, std::integral_constant< T, NSkip >)
 Increment a counter by given steps. More...
 
template<typename T , std::size_t K>
void increment (std::array< T, K > &ctr, T nskip)
 Increment a counter by given steps. More...
 
template<typename T , std::size_t K, std::size_t Blocks>
void increment (std::array< T, K > &ctr, std::array< std::array< T, K >, Blocks > &ctr_block)
 Increment a counter by a given steps, and store each step in an array of counters. More...
 
template<typename T , std::size_t K>
void increment (std::array< T, K > &ctr, std::size_t n, std::array< T, K > *ctr_block)
 Increment a counter by given steps, and store each step in an array of counters. More...
 
void inv (std::size_t n, const float *a, float *y)
 
void inv (std::size_t n, const double *a, double *y)
 
template<typename T >
void inv (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i^{-1}\). More...
 
void invcbrt (std::size_t n, const float *a, float *y)
 
void invcbrt (std::size_t n, const double *a, double *y)
 
template<typename T >
void invcbrt (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = 1 / \sqrt[3]{a_i}\). More...
 
void invsqrt (std::size_t n, const float *a, float *y)
 
void invsqrt (std::size_t n, const double *a, double *y)
 
template<typename T >
void invsqrt (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = 1 / \sqrt{a_i}\). More...
 
template<typename RealType , typename RNGType >
void laplace_distribution (RNGType &rng, std::size_t n, RealType *r, const typename LaplaceDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void laplace_distribution (RNGType &rng, std::size_t n, RealType *r, RealType a, RealType b)
 Generating laplace random variates. More...
 
template<MKL_INT BRNG, int Bits>
void laplace_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void laplace_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<typename RealType , typename RNGType >
void levy_distribution (RNGType &rng, std::size_t n, RealType *r, const typename LevyDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void levy_distribution (RNGType &rng, std::size_t n, RealType *r, RealType a, RealType b)
 Generating levy random variates. More...
 
void lgamma (std::size_t n, const float *a, float *y)
 
void lgamma (std::size_t n, const double *a, double *y)
 
template<typename T >
void lgamma (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \ln\Gamma(a_i)\), logarithm of the Gamma function. More...
 
void linear_frac (std::size_t n, const float *a, const float *b, float beta_a, float beta_b, float mu_a, float mu_b, float *y)
 
void linear_frac (std::size_t n, const double *a, const double *b, double beta_a, double beta_b, double mu_a, double mu_b, double *y)
 
template<typename T >
void linear_frac (std::size_t n, const T *a, const T *b, T beta_a, T beta_b, T mu_a, T mu_b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = (\beta_a a_i + \mu_a) / (\beta_b b_i + \mu_b)\). More...
 
void log (std::size_t n, const float *a, float *y)
 
void log (std::size_t n, const double *a, double *y)
 
template<typename T >
void log (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \log(a_i)\). More...
 
void log10 (std::size_t n, const float *a, float *y)
 
void log10 (std::size_t n, const double *a, double *y)
 
template<typename T >
void log10 (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \log_{10}(a_i)\). More...
 
void log1p (std::size_t n, const float *a, float *y)
 
void log1p (std::size_t n, const double *a, double *y)
 
template<typename T >
void log1p (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \log(a_i + 1)\). More...
 
template<typename T >
void log2 (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \log_2(a_i)\). More...
 
template<typename RealType , typename RNGType >
void logistic_distribution (RNGType &rng, std::size_t n, RealType *r, const typename LogisticDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void logistic_distribution (RNGType &rng, std::size_t n, RealType *r, RealType a, RealType b)
 Generating logistic random variates. More...
 
template<typename RealType , typename RNGType >
void lognormal_distribution (RNGType &rng, std::size_t n, RealType *r, const typename LognormalDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void lognormal_distribution (RNGType &rng, std::size_t n, RealType *r, RealType logmean, RealType logstddev)
 Generating lognormal random variates. More...
 
template<MKL_INT BRNG, int Bits>
void lognormal_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void lognormal_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<typename RNGType >
int mkl_brng ()
 Register a C++11 RNG engine for use as a MKL BRNG. More...
 
template<>
int mkl_brng< ::vsmc::Philox2x32 > ()
 
template<>
int mkl_brng< ::vsmc::Philox2x64 > ()
 
template<>
int mkl_brng< ::vsmc::Philox4x32 > ()
 
template<>
int mkl_brng< ::vsmc::Philox4x64 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry2x32 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry2x32AVX2 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry2x32SSE2 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry2x64 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry2x64AVX2 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry2x64SSE2 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry4x32 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry4x32AVX2 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry4x32SSE2 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry4x64 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry4x64AVX2 > ()
 
template<>
int mkl_brng< ::vsmc::Threefry4x64SSE2 > ()
 
template<>
int mkl_brng< std::knuth_b > ()
 
template<>
int mkl_brng< std::minstd_rand > ()
 
template<>
int mkl_brng< std::minstd_rand0 > ()
 
template<>
int mkl_brng< std::mt19937 > ()
 
template<>
int mkl_brng< std::mt19937_64 > ()
 
template<>
int mkl_brng< std::ranlux24 > ()
 
template<>
int mkl_brng< std::ranlux24_base > ()
 
template<>
int mkl_brng< std::ranlux48 > ()
 
template<>
int mkl_brng< std::ranlux48_base > ()
 
void mul (std::size_t n, const double *a, const double *b, double *y)
 
void mul (std::size_t n, const float *a, const float *b, float *y)
 
template<typename T >
void mul (std::size_t n, const T *a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i b_i\). More...
 
template<typename T >
void mul (std::size_t n, const T *a, T b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i b\). More...
 
template<typename T >
void mul (std::size_t n, T a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a b_i\). More...
 
template<typename RealType , typename RNGType >
void normal_distribution (RNGType &rng, std::size_t n, RealType *r, const typename NormalDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void normal_distribution (RNGType &rng, std::size_t n, RealType *r, RealType mean, RealType stddev)
 Generating Normal random variates. More...
 
template<MKL_INT BRNG, int Bits>
void normal_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *r, float, float)
 
template<MKL_INT BRNG, int Bits>
void normal_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *r, double, double)
 
template<typename RealType , typename RNGType >
void normal_mv_distribution (RNGType &rng, std::size_t n, RealType *r, const typename NormalMVDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void normal_mv_distribution (RNGType &rng, std::size_t n, RealType *r, std::size_t dim, const RealType *mean, const RealType *chol)
 Generating multivariate Normal random varaites. More...
 
template<MKL_INT BRNG, int Bits>
void normal_mv_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, std::size_t, const float *, const float *)
 
template<MKL_INT BRNG, int Bits>
void normal_mv_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, std::size_t, const double *, const double *)
 
template<typename MKLPtr , typename Derived >
bool operator!= (const MKLBase< MKLPtr, Derived > &ptr1, const MKLBase< MKLPtr, Derived > &ptr2)
 Comparison of inequality of two MKLBase objects. More...
 
template<typename T >
bool operator!= (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T1 , typename T2 , std::size_t Alignment, typename Memory >
bool operator!= (const AlignedAllocator< T1, Alignment, Memory > &, const AlignedAllocator< T2, Alignment, Memory > &)
 
template<typename T >
bool operator!= (const M128I< T > &a, const M128I< T > &b)
 
bool operator!= (const M128 &a, const M128 &b)
 
bool operator!= (const M128D &a, const M128D &b)
 
template<typename T >
bool operator!= (const M256I< T > &a, const M256I< T > &b)
 
bool operator!= (const M256 &a, const M256 &b)
 
bool operator!= (const M256D &a, const M256D &b)
 
template<typename T >
M128I< T > operator& (const M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M128I< T > operator& (const M128I< T > &a, T b)
 
template<typename T >
M128I< T > operator& (T a, const M128I< T > &b)
 
template<typename T >
M256I< T > operator& (const M256I< T > &a, const M256I< T > &b)
 
template<typename T >
M256I< T > operator& (T a, const M256I< T > &b)
 
template<typename T >
M256I< T > operator& (const M256I< T > &a, T b)
 
template<typename T >
M128I< T > & operator&= (M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M128I< T > & operator&= (M128I< T > &a, T b)
 
template<typename T >
M256I< T > & operator&= (M256I< T > &a, const M256I< T > &b)
 
template<typename T >
M256I< T > & operator&= (M256I< T > &a, T b)
 
M128 operator* (const M128 &a, const M128 &b)
 
M128 operator* (float a, const M128 &b)
 
M128 operator* (const M128 &a, float b)
 
M128D operator* (const M128D &a, const M128D &b)
 
M128D operator* (const M128D &a, double b)
 
M128D operator* (double a, const M128D &b)
 
M256 operator* (const M256 &a, const M256 &b)
 
M256 operator* (float a, const M256 &b)
 
M256 operator* (const M256 &a, float b)
 
M256D operator* (const M256D &a, const M256D &b)
 
M256D operator* (double a, const M256D &b)
 
M256D operator* (const M256D &a, double b)
 
M128operator*= (M128 &a, float b)
 
M128operator*= (M128 &a, const M128 &b)
 
M128Doperator*= (M128D &a, const M128D &b)
 
M128Doperator*= (M128D &a, double b)
 
M256operator*= (M256 &a, float b)
 
M256operator*= (M256 &a, const M256 &b)
 
M256Doperator*= (M256D &a, double b)
 
M256Doperator*= (M256D &a, const M256D &b)
 
template<typename T , typename IntType >
SingleParticle< T > operator+ (const SingleParticle< T > &sp, IntType n)
 
template<typename T , typename IntType >
SingleParticle< T > operator+ (IntType n, const SingleParticle< T > &sp)
 
template<typename T >
M128I< T > operator+ (const M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M128I< T > operator+ (const M128I< T > &a, T b)
 
template<typename T >
M128I< T > operator+ (T a, const M128I< T > &b)
 
M128 operator+ (const M128 &a, const M128 &b)
 
M128 operator+ (const M128 &a, float b)
 
M128 operator+ (float a, const M128 &b)
 
M128D operator+ (const M128D &a, const M128D &b)
 
M128D operator+ (const M128D &a, double b)
 
M128D operator+ (double a, const M128D &b)
 
template<typename T >
M256I< T > operator+ (const M256I< T > &a, const M256I< T > &b)
 
template<typename T >
M256I< T > operator+ (const M256I< T > &a, T b)
 
template<typename T >
M256I< T > operator+ (T a, const M256I< T > &b)
 
M256 operator+ (const M256 &a, const M256 &b)
 
M256 operator+ (const M256 &a, float b)
 
M256 operator+ (float a, const M256 &b)
 
M256D operator+ (const M256D &a, const M256D &b)
 
M256D operator+ (double a, const M256D &b)
 
M256D operator+ (const M256D &a, double b)
 
template<typename T >
SingleParticle< T > & operator++ (SingleParticle< T > &sp)
 
template<typename T >
SingleParticle< T > operator++ (SingleParticle< T > &sp, int)
 
template<typename T , typename IntType >
SingleParticle< T > & operator+= (SingleParticle< T > &sp, IntType n)
 
template<typename T >
M128I< T > & operator+= (M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M128I< T > & operator+= (M128I< T > &a, T b)
 
M128operator+= (M128 &a, const M128 &b)
 
M128operator+= (M128 &a, float b)
 
M128Doperator+= (M128D &a, const M128D &b)
 
M128Doperator+= (M128D &a, double b)
 
template<typename T >
M256I< T > & operator+= (M256I< T > &a, const M256I< T > &b)
 
template<typename T >
M256I< T > & operator+= (M256I< T > &a, T b)
 
M256operator+= (M256 &a, float b)
 
M256operator+= (M256 &a, const M256 &b)
 
M256Doperator+= (M256D &a, const M256D &b)
 
M256Doperator+= (M256D &a, double b)
 
template<typename T , typename IntType >
SingleParticle< T > operator- (const SingleParticle< T > &sp, IntType n)
 
template<typename T >
std::ptrdiff_t operator- (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T >
M128I< T > operator- (const M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M128I< T > operator- (const M128I< T > &a, T b)
 
template<typename T >
M128I< T > operator- (T a, const M128I< T > &b)
 
M128 operator- (const M128 &a, const M128 &b)
 
M128 operator- (const M128 &a, float b)
 
M128 operator- (float a, const M128 &b)
 
M128D operator- (const M128D &a, const M128D &b)
 
M128D operator- (double a, const M128D &b)
 
M128D operator- (const M128D &a, double b)
 
template<typename T >
M256I< T > operator- (const M256I< T > &a, const M256I< T > &b)
 
template<typename T >
M256I< T > operator- (T a, const M256I< T > &b)
 
template<typename T >
M256I< T > operator- (const M256I< T > &a, T b)
 
M256 operator- (const M256 &a, const M256 &b)
 
M256 operator- (float a, const M256 &b)
 
M256 operator- (const M256 &a, float b)
 
M256D operator- (const M256D &a, const M256D &b)
 
M256D operator- (double a, const M256D &b)
 
M256D operator- (const M256D &a, double b)
 
template<typename T >
SingleParticle< T > & operator-- (SingleParticle< T > &sp)
 
template<typename T >
SingleParticle< T > operator-- (SingleParticle< T > &sp, int)
 
template<typename T , typename IntType >
SingleParticle< T > & operator-= (SingleParticle< T > &sp, IntType n)
 
template<typename T >
M128I< T > & operator-= (M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M128I< T > & operator-= (M128I< T > &a, T b)
 
M128operator-= (M128 &a, float b)
 
M128operator-= (M128 &a, const M128 &b)
 
M128Doperator-= (M128D &a, const M128D &b)
 
M128Doperator-= (M128D &a, double b)
 
template<typename T >
M256I< T > & operator-= (M256I< T > &a, T b)
 
template<typename T >
M256I< T > & operator-= (M256I< T > &a, const M256I< T > &b)
 
M256operator-= (M256 &a, const M256 &b)
 
M256operator-= (M256 &a, float b)
 
M256Doperator-= (M256D &a, const M256D &b)
 
M256Doperator-= (M256D &a, double b)
 
M128 operator/ (const M128 &a, const M128 &b)
 
M128 operator/ (float a, const M128 &b)
 
M128 operator/ (const M128 &a, float b)
 
M128D operator/ (const M128D &a, const M128D &b)
 
M128D operator/ (double a, const M128D &b)
 
M128D operator/ (const M128D &a, double b)
 
M256 operator/ (const M256 &a, const M256 &b)
 
M256 operator/ (float a, const M256 &b)
 
M256 operator/ (const M256 &a, float b)
 
M256D operator/ (const M256D &a, const M256D &b)
 
M256D operator/ (double a, const M256D &b)
 
M256D operator/ (const M256D &a, double b)
 
M128operator/= (M128 &a, const M128 &b)
 
M128operator/= (M128 &a, float b)
 
M128Doperator/= (M128D &a, double b)
 
M128Doperator/= (M128D &a, const M128D &b)
 
M256operator/= (M256 &a, float b)
 
M256operator/= (M256 &a, const M256 &b)
 
M256Doperator/= (M256D &a, double b)
 
M256Doperator/= (M256D &a, const M256D &b)
 
template<typename T >
bool operator< (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename CharT , typename Traits , typename T , std::size_t N>
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const std::array< T, N > &ary)
 
template<typename CharT , typename Traits , MatrixLayout Layout, std::size_t Dim, typename T >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const StateMatrixBase< Layout, Dim, T > &smatrix)
 
template<typename CharT , typename Traits , typename T , std::size_t N>
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const Vector< T > &vec)
 
template<typename CharT , typename Traits , typename T >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const Sampler< T > &sampler)
 
template<typename CharT , typename Traits , typename T >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const M128I< T > &a)
 
template<typename T >
M128I< T > operator<< (const M128I< T > &a, int imm8)
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const M128 &a)
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const M128D &a)
 
template<typename CharT , typename Traits , typename T >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const M256I< T > &a)
 
template<typename T >
M256I< T > operator<< (const M256I< T > &a, int imm8)
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const M256 &a)
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const M256D &a)
 
template<typename T >
M128I< T > operator<<= (M128I< T > &a, int imm8)
 
template<typename T >
M256I< T > operator<<= (M256I< T > &a, int imm8)
 
template<typename T >
bool operator<= (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename MKLPtr , typename Derived >
bool operator== (const MKLBase< MKLPtr, Derived > &ptr1, const MKLBase< MKLPtr, Derived > &ptr2)
 Comparison of equality of two MKLBase objects. More...
 
template<typename T >
bool operator== (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T1 , typename T2 , std::size_t Alignment, typename Memory >
bool operator== (const AlignedAllocator< T1, Alignment, Memory > &, const AlignedAllocator< T2, Alignment, Memory > &)
 
template<typename T >
bool operator== (const M128I< T > &a, const M128I< T > &b)
 
bool operator== (const M128 &a, const M128 &b)
 
bool operator== (const M128D &a, const M128D &b)
 
template<typename T >
bool operator== (const M256I< T > &a, const M256I< T > &b)
 
bool operator== (const M256 &a, const M256 &b)
 
bool operator== (const M256D &a, const M256D &b)
 
template<typename T >
bool operator> (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T >
bool operator>= (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename CharT , typename Traits , typename T , std::size_t N>
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, std::array< T, N > &ary)
 
template<typename CharT , typename Traits , typename T , std::size_t N>
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, Vector< T > &vec)
 
template<typename CharT , typename Traits , typename T >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, M128I< T > &a)
 
template<typename T >
M128I< T > operator>> (const M128I< T > &a, int imm8)
 
template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, M128 &a)
 
template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, M128D &a)
 
template<typename CharT , typename Traits , typename T >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, M256I< T > &a)
 
template<typename T >
M256I< T > operator>> (const M256I< T > &a, int imm8)
 
template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, M256 &a)
 
template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, M256D &a)
 
template<typename T >
M128I< T > operator>>= (M128I< T > &a, int imm8)
 
template<typename T >
M256I< T > operator>>= (M256I< T > &a, int imm8)
 
template<typename T >
M128I< T > operator^ (const M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M128I< T > operator^ (T a, const M128I< T > &b)
 
template<typename T >
M128I< T > operator^ (const M128I< T > &a, T b)
 
template<typename T >
M256I< T > operator^ (const M256I< T > &a, const M256I< T > &b)
 
template<typename T >
M256I< T > operator^ (T a, const M256I< T > &b)
 
template<typename T >
M256I< T > operator^ (const M256I< T > &a, T b)
 
template<typename T >
M128I< T > & operator^= (M128I< T > &a, T b)
 
template<typename T >
M128I< T > & operator^= (M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M256I< T > & operator^= (M256I< T > &a, const M256I< T > &b)
 
template<typename T >
M256I< T > & operator^= (M256I< T > &a, T b)
 
template<typename T >
M128I< T > operator| (const M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M128I< T > operator| (T a, const M128I< T > &b)
 
template<typename T >
M128I< T > operator| (const M128I< T > &a, T b)
 
template<typename T >
M256I< T > operator| (const M256I< T > &a, const M256I< T > &b)
 
template<typename T >
M256I< T > operator| (T a, const M256I< T > &b)
 
template<typename T >
M256I< T > operator| (const M256I< T > &a, T b)
 
template<typename T >
M128I< T > & operator|= (M128I< T > &a, T b)
 
template<typename T >
M128I< T > & operator|= (M128I< T > &a, const M128I< T > &b)
 
template<typename T >
M256I< T > & operator|= (M256I< T > &a, T b)
 
template<typename T >
M256I< T > & operator|= (M256I< T > &a, const M256I< T > &b)
 
template<typename RealType , typename RNGType >
void pareto_distribution (RNGType &rng, std::size_t n, RealType *r, const typename ParetoDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void pareto_distribution (RNGType &rng, std::size_t n, RealType *r, RealType a, RealType b)
 Generating pareto random variates. More...
 
void pow (std::size_t n, const float *a, const float *b, float *y)
 
void pow (std::size_t n, const double *a, const double *b, double *y)
 
void pow (std::size_t n, const float *a, float b, float *y)
 
void pow (std::size_t n, const double *a, double b, double *y)
 
template<typename T >
void pow (std::size_t n, const T *a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i^{b_i}\). More...
 
template<typename T >
void pow (std::size_t n, const T *a, T b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i^b\). More...
 
void pow2o3 (std::size_t n, const double *a, double *y)
 
void pow2o3 (std::size_t n, const float *a, float *y)
 
template<typename T >
void pow2o3 (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i^{2/3}\). More...
 
void pow3o2 (std::size_t n, const double *a, double *y)
 
void pow3o2 (std::size_t n, const float *a, float *y)
 
template<typename T >
void pow3o2 (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i^{3/2}\). More...
 
template<typename RealType , typename RNGType >
void rayleigh_distribution (RNGType &rng, std::size_t n, RealType *r, const typename RayleighDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void rayleigh_distribution (RNGType &rng, std::size_t n, RealType *r, RealType sigma)
 Generating rayleigh random variates. More...
 
template<MKL_INT BRNG, int Bits>
void rayleigh_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float)
 
template<MKL_INT BRNG, int Bits>
void rayleigh_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double)
 
template<typename UIntType , std::size_t W>
bool rdrand (UIntType *, std::integral_constant< std::size_t, W >)
 Invoke the RDRAND instruction and return the carry flag. More...
 
template<typename UIntType >
bool rdrand (UIntType *rand, std::integral_constant< std::size_t, sizeof(std::uint16_t)>)
 Invoke the 16-bits RDRAND instruction and return the carry flag. More...
 
template<typename UIntType >
bool rdrand (UIntType *rand, std::integral_constant< std::size_t, sizeof(std::uint32_t)>)
 Invoke the 32-bits RDRAND instruction and return the carry flag. More...
 
template<typename UIntType >
bool rdrand (UIntType *rand, std::integral_constant< std::size_t, sizeof(std::uint64_t)>)
 Invoke the 64-bits RDRAND instruction and return the carry flag. More...
 
template<typename IntType1 , typename IntType2 >
void resample_trans_index_rep (std::size_t M, std::size_t N, const IntType1 *index, IntType2 *replication)
 Transform parent indices into replication numbers. More...
 
template<typename IntType1 , typename IntType2 >
void resample_trans_rep_index (std::size_t M, std::size_t N, const IntType1 *replication, IntType2 *index)
 Transform replication numbers into parent indices. More...
 
template<typename IntType >
std::size_t resample_trans_residual (std::size_t M, std::size_t N, const double *weight, double *resid, IntType *integ)
 Transform normalized weights to normalized residual and integrals, and return the number of remaining elements to be resampled. More...
 
template<typename IntType , typename U01SeqType >
void resample_trans_u01_index (std::size_t M, std::size_t N, const double *weight, U01SeqType &&u01seq, IntType *index)
 Transform uniform [0, 1] sequence into parent indices. More...
 
template<typename IntType , typename U01SeqType >
void resample_trans_u01_rep (std::size_t M, std::size_t N, const double *weight, U01SeqType &&u01seq, IntType *replication)
 Transform uniform [0, 1] sequence into replication numbers. More...
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, ChiSquaredDistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, ExponentialDistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, ExtremeValueDistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, CauchyDistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, FisherFDistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, U01CCDistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, U01CODistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, U01OCDistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, U01OODistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, GammaDistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename Generator >
void rng_rand (CounterEngine< Generator > &rng, std::size_t n, typename CounterEngine< Generator >::result_type *r)
 
template<typename RNGType >
void rng_rand (RNGType &rng, std::size_t n, typename RNGType::result_type *r)
 Generate random bits. More...
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &rng, BetaDistribution< RealType > &dist, std::size_t n, RealType *r)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, DiscreteDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, LaplaceDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, LevyDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, LogisticDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, LognormalDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, NormalDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , std::size_t Dim, typename RNGType >
void rng_rand (RNGType &, NormalMVDistribution< RealType, Dim > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, ParetoDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, RayleighDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, StudentTDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, U01Distribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType , typename Left , typename Right >
void rng_rand (RNGType &, U01LRDistribution< RealType, Left, Right > &, std::size_t, RealType *)
 
template<typename UIntType , typename RNGType >
void rng_rand (RNGType &, UniformBitsDistribution< UIntType > &, std::size_t, UIntType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, UniformRealDistribution< RealType > &, std::size_t, RealType *)
 
template<typename RealType , typename RNGType >
void rng_rand (RNGType &, WeibullDistribution< RealType > &, std::size_t, RealType *)
 
template<MKL_INT BRNG, int Bits>
void rng_rand (MKLEngine< BRNG, Bits > &, std::size_t, typename MKLEngine< BRNG, Bits >::result_type *)
 
void sin (std::size_t n, const float *a, float *y)
 
void sin (std::size_t n, const double *a, double *y)
 
template<typename T >
void sin (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \cos(a_i)\). More...
 
void sincos (std::size_t n, const float *a, float *y, float *z)
 
void sincos (std::size_t n, const double *a, double *y, double *z)
 
template<typename T >
void sincos (std::size_t n, const T *a, T *y, T *z)
 For \(i=1,\ldots,n\), compute \(y_i = \sin(a_i), z_i = \cos(a_i)\). More...
 
void sinh (std::size_t n, const double *a, double *y)
 
void sinh (std::size_t n, const float *a, float *y)
 
template<typename T >
void sinh (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \sinh(a_i)\). More...
 
void sqr (std::size_t n, const float *a, float *y)
 
void sqr (std::size_t n, const double *a, double *y)
 
template<typename T >
void sqr (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i^2\). More...
 
void sqrt (std::size_t n, const float *a, float *y)
 
void sqrt (std::size_t n, const double *a, double *y)
 
template<typename T >
void sqrt (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \sqrt{a_i}\). More...
 
template<typename RealType , typename RNGType >
void student_t_distribution (RNGType &rng, std::size_t n, RealType *r, const typename StudentTDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void student_t_distribution (RNGType &rng, std::size_t n, RealType *r, RealType df)
 Generating student-t random variates. More...
 
void sub (std::size_t n, const double *a, const double *b, double *y)
 
void sub (std::size_t n, const float *a, const float *b, float *y)
 
template<typename T >
void sub (std::size_t n, const T *a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i - b_i\). More...
 
template<typename T >
void sub (std::size_t n, const T *a, T b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a_i - b\). More...
 
template<typename T >
void sub (std::size_t n, T a, const T *b, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = a - b_i\). More...
 
template<typename MKLPtr , typename Derived >
void swap (const MKLBase< MKLPtr, Derived > &ptr1, const MKLBase< MKLPtr, Derived > &ptr2)
 Swap two MKLBase objects. More...
 
void tan (std::size_t n, const double *a, double *y)
 
void tan (std::size_t n, const float *a, float *y)
 
template<typename T >
void tan (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \tan(a_i)\). More...
 
void tanh (std::size_t n, const double *a, double *y)
 
void tanh (std::size_t n, const float *a, float *y)
 
template<typename T >
void tanh (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \tanh(a_i)\). More...
 
void tgamm (std::size_t n, const float *a, float *y)
 
void tgamm (std::size_t n, const double *a, double *y)
 
template<typename T >
void tgamma (std::size_t n, const T *a, T *y)
 For \(i=1,\ldots,n\), compute \(y_i = \Gamma(a_i)\), the Gamma function. More...
 
template<typename UIntType , typename RealType >
RealType u01_cc (UIntType u) noexcept
 Convert uniform unsigned integers to floating points on [0, 1]. More...
 
template<typename UIntType , typename RealType >
void u01_cc (std::size_t n, const UIntType *u, RealType *r) noexcept
 Convert uniform unsigned integers to floating points on [0, 1]. More...
 
template<typename RealType , typename RNGType >
void u01_cc_distribution (RNGType &rng, std::size_t n, RealType *r)
 Generate standard uniform random variates on [0, 1]. More...
 
template<typename RealType , typename RNGType >
void u01_cc_distribution (RNGType &rng, std::size_t n, RealType *r, const typename U01CCDistribution< RealType >::param_type &)
 
template<typename UIntType , typename RealType >
RealType u01_co (UIntType u) noexcept
 Convert uniform unsigned integers to floating points on [0, 1) More...
 
template<typename UIntType , typename RealType >
void u01_co (std::size_t n, const UIntType *u, RealType *r) noexcept
 Convert uniform unsigned integers to floating points on [0, 1) More...
 
template<typename RealType , typename RNGType >
void u01_co_distribution (RNGType &rng, std::size_t n, RealType *r)
 Generate standard uniform random variates on [0, 1) More...
 
template<typename RealType , typename RNGType >
void u01_co_distribution (RNGType &rng, std::size_t n, RealType *r, const typename U01CODistribution< RealType >::param_type &)
 
template<typename RealType , typename RNGType >
void u01_distribution (RNGType &rng, std::size_t n, RealType *r, const typename U01Distribution< RealType >::param_type &)
 
template<typename RealType , typename RNGType >
void u01_distribution (RNGType &rng, std::size_t n, RealType *r)
 Generate standard uniform random variates. More...
 
template<MKL_INT BRNG, int Bits>
void u01_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *)
 
template<MKL_INT BRNG, int Bits>
void u01_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *)
 
template<typename UIntType , typename RealType , typename Left , typename Right >
RealType u01_lr (UIntType u) noexcept
 Convert uniform unsigned integers to floating points within [0, 1]. More...
 
template<typename UIntType , typename RealType , typename Left , typename Right >
void u01_lr (std::size_t n, const UIntType *u, RealType *r) noexcept
 Convert uniform unsigned integers to floating points within [0, 1]. More...
 
template<typename , typename , typename RealType , typename RNGType >
void u01_lr_distribution (RNGType &, std::size_t, RealType *)
 
template<typename UIntType , typename RealType >
RealType u01_oc (UIntType u) noexcept
 Convert uniform unsigned integers to floating points on (0, 1]. More...
 
template<typename UIntType , typename RealType >
void u01_oc (std::size_t n, const UIntType *u, RealType *r) noexcept
 Convert uniform unsigned integers to floating points on (0, 1]. More...
 
template<typename RealType , typename RNGType >
void u01_oc_distribution (RNGType &rng, std::size_t n, RealType *r)
 Generate standard uniform random variates on (0, 1]. More...
 
template<typename RealType , typename RNGType >
void u01_oc_distribution (RNGType &rng, std::size_t n, RealType *r, const typename U01OCDistribution< RealType >::param_type &)
 
template<typename UIntType , typename RealType >
RealType u01_oo (UIntType u) noexcept
 Convert uniform unsigned integers to floating points on (0, 1) More...
 
template<typename UIntType , typename RealType >
void u01_oo (std::size_t n, const UIntType *u, RealType *r) noexcept
 Convert uniform unsigned integers to floating points on (0, 1) More...
 
template<typename RealType , typename RNGType >
void u01_oo_distribution (RNGType &rng, std::size_t n, RealType *r)
 Generate standard uniform random variates on (0, 1) More...
 
template<typename RealType , typename RNGType >
void u01_oo_distribution (RNGType &rng, std::size_t n, RealType *r, const typename U01OODistribution< RealType >::param_type &)
 
template<typename RealType >
void u01_sorted (std::size_t N, const RealType *u01, RealType *u01seq)
 Tranform a sequence of standard uniform random numbers to sorted sequence. More...
 
template<typename RealType >
void u01_stratified (std::size_t N, const RealType *u01, RealType *u01seq)
 Transform a sequence of standard uniform random numbers to a stratified sequence. More...
 
template<typename RealType >
void u01_systematic (std::size_t N, RealType u01, RealType *u01seq)
 Transform a single standard uniform random number to a systematic sequence. More...
 
template<typename UIntType , typename RNGType >
void uniform_bits_distribution (RNGType &rng, std::size_t n, UIntType *r, const typename UniformBitsDistribution< UIntType >::param_type &)
 
template<typename UIntType , typename RNGType >
void uniform_bits_distribution (RNGType &, std::size_t, UIntType *)
 
template<typename RealType , typename RNGType >
void uniform_real_distribution (RNGType &rng, std::size_t n, RealType *r, const typename UniformRealDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void uniform_real_distribution (RNGType &rng, std::size_t n, RealType *r, RealType a, RealType b)
 Generate uniform real random variates with open/closed variants. More...
 
template<MKL_INT BRNG, int Bits>
void uniform_real_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void uniform_real_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
template<typename RealType , typename RNGType >
void weibull_distribution (RNGType &rng, std::size_t n, RealType *r, const typename WeibullDistribution< RealType >::param_type &param)
 
template<typename RealType , typename RNGType >
void weibull_distribution (RNGType &rng, std::size_t n, RealType *r, RealType a, RealType b)
 Generating weibull random variates. More...
 
template<MKL_INT BRNG, int Bits>
void weibull_distribution (MKLEngine< BRNG, Bits > &, std::size_t, float *, float, float)
 
template<MKL_INT BRNG, int Bits>
void weibull_distribution (MKLEngine< BRNG, Bits > &, std::size_t, double *, double, double)
 
double weight_ess (std::size_t N, const double *first)
 Compute the ess given normalized weights. More...
 
void weight_normalize (std::size_t N, double *first)
 Normalize weights such that the summation is one. More...
 
void weight_normalize_log (std::size_t N, double *first)
 Normalize logarithm weights such that the maximum is zero. More...
 

Typedef Documentation

using vsmc::RNG = typedef ::vsmc::ThreefryAVX2

Definition at line 71 of file engine.hpp.

using vsmc::RNGSet = typedef ::vsmc::RNGSetTBB<::vsmc::RNG>

Definition at line 160 of file rng_set.hpp.

template<typename T >
using vsmc::RNGSetType = typedef typename RNGSetTypeTrait<T>::type

Definition at line 164 of file rng_set.hpp.

template<typename T >
using vsmc::SingleParticleBaseType = typedef typename SingleParticleBaseTypeTrait<T>::type

Definition at line 77 of file single_particle.hpp.

template<typename T >
using vsmc::SizeType = typedef typename SizeTypeTrait<T>::type

Definition at line 212 of file traits.hpp.

template<typename T >
using vsmc::WeightType = typedef typename WeightTypeTrait<T>::type

Definition at line 321 of file weight.hpp.

Function Documentation

void vsmc::abs ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 113 of file vmath.hpp.

void vsmc::abs ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 113 of file vmath.hpp.

void vsmc::acos ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 163 of file vmath.hpp.

void vsmc::acos ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 163 of file vmath.hpp.

void vsmc::acosh ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 171 of file vmath.hpp.

void vsmc::acosh ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 171 of file vmath.hpp.

void vsmc::add ( std::size_t  n,
const float *  a,
const float *  b,
float *  y 
)
inline

Definition at line 109 of file vmath.hpp.

void vsmc::add ( std::size_t  n,
const double *  a,
const double *  b,
double *  y 
)
inline

Definition at line 109 of file vmath.hpp.

void vsmc::asin ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 164 of file vmath.hpp.

void vsmc::asin ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 164 of file vmath.hpp.

void vsmc::asinh ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 172 of file vmath.hpp.

void vsmc::asinh ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 172 of file vmath.hpp.

void vsmc::atan ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 165 of file vmath.hpp.

void vsmc::atan ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 165 of file vmath.hpp.

void vsmc::atan2 ( std::size_t  n,
const float *  a,
const float *  b,
float *  y 
)
inline

Definition at line 166 of file vmath.hpp.

void vsmc::atan2 ( std::size_t  n,
const double *  a,
const double *  b,
double *  y 
)
inline

Definition at line 166 of file vmath.hpp.

void vsmc::atanh ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 173 of file vmath.hpp.

void vsmc::atanh ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 173 of file vmath.hpp.

template<typename RealType , typename RNGType >
void vsmc::beta_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename BetaDistribution< RealType >::param_type &  param 
)
inline

Definition at line 583 of file beta_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::beta_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  alpha,
float  beta 
)
inline

Definition at line 484 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::beta_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  alpha,
double  beta 
)
inline

Definition at line 491 of file mkl.hpp.

template<typename RealType , typename RNGType >
void vsmc::cauchy_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename CauchyDistribution< RealType >::param_type &  param 
)
inline

Definition at line 115 of file cauchy_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::cauchy_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  a,
float  b 
)
inline

Definition at line 498 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::cauchy_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  a,
double  b 
)
inline

Definition at line 505 of file mkl.hpp.

void vsmc::cbrt ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 131 of file vmath.hpp.

void vsmc::cbrt ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 131 of file vmath.hpp.

void vsmc::cdfnorm ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 177 of file vmath.hpp.

void vsmc::cdfnorm ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 177 of file vmath.hpp.

void vsmc::cdfnorminv ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 180 of file vmath.hpp.

void vsmc::cdfnorminv ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 180 of file vmath.hpp.

template<typename RealType , typename RNGType >
void vsmc::chi_squared_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename ChiSquaredDistribution< RealType >::param_type &  param 
)
inline

Definition at line 94 of file chi_squared_distribution.hpp.

template<>
constexpr double vsmc::const_e< double > ( )
inlinenoexcept

Definition at line 198 of file constants.hpp.

template<>
constexpr float vsmc::const_e< float > ( )
inlinenoexcept

Definition at line 198 of file constants.hpp.

template<>
constexpr long double vsmc::const_e< long double > ( )
inlinenoexcept

Definition at line 198 of file constants.hpp.

template<>
constexpr double vsmc::const_e_inv< double > ( )
inlinenoexcept

Definition at line 202 of file constants.hpp.

template<>
constexpr float vsmc::const_e_inv< float > ( )
inlinenoexcept

Definition at line 202 of file constants.hpp.

template<>
constexpr long double vsmc::const_e_inv< long double > ( )
inlinenoexcept

Definition at line 202 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_10< double > ( )
inlinenoexcept

Definition at line 263 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_10< float > ( )
inlinenoexcept

Definition at line 263 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_10< long double > ( )
inlinenoexcept

Definition at line 263 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_2< double > ( )
inlinenoexcept

Definition at line 251 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_2< float > ( )
inlinenoexcept

Definition at line 251 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_2< long double > ( )
inlinenoexcept

Definition at line 251 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_3< double > ( )
inlinenoexcept

Definition at line 255 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_3< float > ( )
inlinenoexcept

Definition at line 255 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_3< long double > ( )
inlinenoexcept

Definition at line 255 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_5< double > ( )
inlinenoexcept

Definition at line 259 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_5< float > ( )
inlinenoexcept

Definition at line 259 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_5< long double > ( )
inlinenoexcept

Definition at line 259 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_inv_10< double > ( )
inlinenoexcept

Definition at line 282 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_inv_10< float > ( )
inlinenoexcept

Definition at line 282 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_inv_10< long double > ( )
inlinenoexcept

Definition at line 282 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_inv_2< double > ( )
inlinenoexcept

Definition at line 267 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_inv_2< float > ( )
inlinenoexcept

Definition at line 267 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_inv_2< long double > ( )
inlinenoexcept

Definition at line 267 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_inv_3< double > ( )
inlinenoexcept

Definition at line 272 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_inv_3< float > ( )
inlinenoexcept

Definition at line 272 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_inv_3< long double > ( )
inlinenoexcept

Definition at line 272 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_inv_5< double > ( )
inlinenoexcept

Definition at line 277 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_inv_5< float > ( )
inlinenoexcept

Definition at line 277 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_inv_5< long double > ( )
inlinenoexcept

Definition at line 277 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_ln_2< double > ( )
inlinenoexcept

Definition at line 287 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_ln_2< float > ( )
inlinenoexcept

Definition at line 287 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_ln_2< long double > ( )
inlinenoexcept

Definition at line 287 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_pi< double > ( )
inlinenoexcept

Definition at line 155 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_pi< float > ( )
inlinenoexcept

Definition at line 155 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_pi< long double > ( )
inlinenoexcept

Definition at line 155 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_pi_2< double > ( )
inlinenoexcept

Definition at line 159 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_pi_2< float > ( )
inlinenoexcept

Definition at line 159 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_pi_2< long double > ( )
inlinenoexcept

Definition at line 159 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_pi_2by3< double > ( )
inlinenoexcept

Definition at line 184 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_pi_2by3< float > ( )
inlinenoexcept

Definition at line 184 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_pi_2by3< long double > ( )
inlinenoexcept

Definition at line 184 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_pi_3by4< double > ( )
inlinenoexcept

Definition at line 189 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_pi_3by4< float > ( )
inlinenoexcept

Definition at line 189 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_pi_3by4< long double > ( )
inlinenoexcept

Definition at line 189 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_pi_4by3< double > ( )
inlinenoexcept

Definition at line 194 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_pi_4by3< float > ( )
inlinenoexcept

Definition at line 194 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_pi_4by3< long double > ( )
inlinenoexcept

Definition at line 194 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_pi_by2< double > ( )
inlinenoexcept

Definition at line 164 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_pi_by2< float > ( )
inlinenoexcept

Definition at line 164 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_pi_by2< long double > ( )
inlinenoexcept

Definition at line 164 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_pi_by3< double > ( )
inlinenoexcept

Definition at line 169 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_pi_by3< float > ( )
inlinenoexcept

Definition at line 169 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_pi_by3< long double > ( )
inlinenoexcept

Definition at line 169 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_pi_by4< double > ( )
inlinenoexcept

Definition at line 174 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_pi_by4< float > ( )
inlinenoexcept

Definition at line 174 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_pi_by4< long double > ( )
inlinenoexcept

Definition at line 174 of file constants.hpp.

template<>
constexpr double vsmc::const_ln_pi_by6< double > ( )
inlinenoexcept

Definition at line 179 of file constants.hpp.

template<>
constexpr float vsmc::const_ln_pi_by6< float > ( )
inlinenoexcept

Definition at line 179 of file constants.hpp.

template<>
constexpr long double vsmc::const_ln_pi_by6< long double > ( )
inlinenoexcept

Definition at line 179 of file constants.hpp.

template<>
constexpr double vsmc::const_pi< double > ( )
inlinenoexcept

Definition at line 62 of file constants.hpp.

template<>
constexpr float vsmc::const_pi< float > ( )
inlinenoexcept

Definition at line 62 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi< long double > ( )
inlinenoexcept

Definition at line 62 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_2< double > ( )
inlinenoexcept

Definition at line 66 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_2< float > ( )
inlinenoexcept

Definition at line 66 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_2< long double > ( )
inlinenoexcept

Definition at line 66 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_2by3< double > ( )
inlinenoexcept

Definition at line 94 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_2by3< float > ( )
inlinenoexcept

Definition at line 94 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_2by3< long double > ( )
inlinenoexcept

Definition at line 94 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_3by4< double > ( )
inlinenoexcept

Definition at line 98 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_3by4< float > ( )
inlinenoexcept

Definition at line 98 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_3by4< long double > ( )
inlinenoexcept

Definition at line 98 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_4by3< double > ( )
inlinenoexcept

Definition at line 102 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_4by3< float > ( )
inlinenoexcept

Definition at line 102 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_4by3< long double > ( )
inlinenoexcept

Definition at line 102 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_by2< double > ( )
inlinenoexcept

Definition at line 78 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_by2< float > ( )
inlinenoexcept

Definition at line 78 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_by2< long double > ( )
inlinenoexcept

Definition at line 78 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_by3< double > ( )
inlinenoexcept

Definition at line 82 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_by3< float > ( )
inlinenoexcept

Definition at line 82 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_by3< long double > ( )
inlinenoexcept

Definition at line 82 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_by4< double > ( )
inlinenoexcept

Definition at line 86 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_by4< float > ( )
inlinenoexcept

Definition at line 86 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_by4< long double > ( )
inlinenoexcept

Definition at line 86 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_by6< double > ( )
inlinenoexcept

Definition at line 90 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_by6< float > ( )
inlinenoexcept

Definition at line 90 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_by6< long double > ( )
inlinenoexcept

Definition at line 90 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_inv< double > ( )
inlinenoexcept

Definition at line 70 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_inv< float > ( )
inlinenoexcept

Definition at line 70 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_inv< long double > ( )
inlinenoexcept

Definition at line 70 of file constants.hpp.

template<>
constexpr double vsmc::const_pi_sqr< double > ( )
inlinenoexcept

Definition at line 74 of file constants.hpp.

template<>
constexpr float vsmc::const_pi_sqr< float > ( )
inlinenoexcept

Definition at line 74 of file constants.hpp.

template<>
constexpr long double vsmc::const_pi_sqr< long double > ( )
inlinenoexcept

Definition at line 74 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_10< double > ( )
inlinenoexcept

Definition at line 227 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_10< float > ( )
inlinenoexcept

Definition at line 227 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_10< long double > ( )
inlinenoexcept

Definition at line 227 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_1by10< double > ( )
inlinenoexcept

Definition at line 247 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_1by10< float > ( )
inlinenoexcept

Definition at line 247 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_1by10< long double > ( )
inlinenoexcept

Definition at line 247 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_1by2< double > ( )
inlinenoexcept

Definition at line 232 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_1by2< float > ( )
inlinenoexcept

Definition at line 232 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_1by2< long double > ( )
inlinenoexcept

Definition at line 232 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_1by3< double > ( )
inlinenoexcept

Definition at line 237 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_1by3< float > ( )
inlinenoexcept

Definition at line 237 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_1by3< long double > ( )
inlinenoexcept

Definition at line 237 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_1by5< double > ( )
inlinenoexcept

Definition at line 242 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_1by5< float > ( )
inlinenoexcept

Definition at line 242 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_1by5< long double > ( )
inlinenoexcept

Definition at line 242 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_2< double > ( )
inlinenoexcept

Definition at line 215 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_2< float > ( )
inlinenoexcept

Definition at line 215 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_2< long double > ( )
inlinenoexcept

Definition at line 215 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_3< double > ( )
inlinenoexcept

Definition at line 219 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_3< float > ( )
inlinenoexcept

Definition at line 219 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_3< long double > ( )
inlinenoexcept

Definition at line 219 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_5< double > ( )
inlinenoexcept

Definition at line 223 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_5< float > ( )
inlinenoexcept

Definition at line 223 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_5< long double > ( )
inlinenoexcept

Definition at line 223 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_e< double > ( )
inlinenoexcept

Definition at line 206 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_e< float > ( )
inlinenoexcept

Definition at line 206 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_e< long double > ( )
inlinenoexcept

Definition at line 206 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_e_inv< double > ( )
inlinenoexcept

Definition at line 211 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_e_inv< float > ( )
inlinenoexcept

Definition at line 211 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_e_inv< long double > ( )
inlinenoexcept

Definition at line 211 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi< double > ( )
inlinenoexcept

Definition at line 106 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi< float > ( )
inlinenoexcept

Definition at line 106 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi< long double > ( )
inlinenoexcept

Definition at line 106 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi_2< double > ( )
inlinenoexcept

Definition at line 111 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi_2< float > ( )
inlinenoexcept

Definition at line 111 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi_2< long double > ( )
inlinenoexcept

Definition at line 111 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi_2by3< double > ( )
inlinenoexcept

Definition at line 141 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi_2by3< float > ( )
inlinenoexcept

Definition at line 141 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi_2by3< long double > ( )
inlinenoexcept

Definition at line 141 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi_3by4< double > ( )
inlinenoexcept

Definition at line 146 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi_3by4< float > ( )
inlinenoexcept

Definition at line 146 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi_3by4< long double > ( )
inlinenoexcept

Definition at line 146 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi_4by3< double > ( )
inlinenoexcept

Definition at line 151 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi_4by3< float > ( )
inlinenoexcept

Definition at line 151 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi_4by3< long double > ( )
inlinenoexcept

Definition at line 151 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi_by2< double > ( )
inlinenoexcept

Definition at line 121 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi_by2< float > ( )
inlinenoexcept

Definition at line 121 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi_by2< long double > ( )
inlinenoexcept

Definition at line 121 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi_by3< double > ( )
inlinenoexcept

Definition at line 126 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi_by3< float > ( )
inlinenoexcept

Definition at line 126 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi_by3< long double > ( )
inlinenoexcept

Definition at line 126 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi_by4< double > ( )
inlinenoexcept

Definition at line 131 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi_by4< float > ( )
inlinenoexcept

Definition at line 131 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi_by4< long double > ( )
inlinenoexcept

Definition at line 131 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi_by6< double > ( )
inlinenoexcept

Definition at line 136 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi_by6< float > ( )
inlinenoexcept

Definition at line 136 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi_by6< long double > ( )
inlinenoexcept

Definition at line 136 of file constants.hpp.

template<>
constexpr double vsmc::const_sqrt_pi_inv< double > ( )
inlinenoexcept

Definition at line 116 of file constants.hpp.

template<>
constexpr float vsmc::const_sqrt_pi_inv< float > ( )
inlinenoexcept

Definition at line 116 of file constants.hpp.

template<>
constexpr long double vsmc::const_sqrt_pi_inv< long double > ( )
inlinenoexcept

Definition at line 116 of file constants.hpp.

void vsmc::cos ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 152 of file vmath.hpp.

void vsmc::cos ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 152 of file vmath.hpp.

void vsmc::cosh ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 168 of file vmath.hpp.

void vsmc::cosh ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 168 of file vmath.hpp.

void vsmc::div ( std::size_t  n,
const float *  a,
const float *  b,
float *  y 
)
inline

Definition at line 128 of file vmath.hpp.

void vsmc::div ( std::size_t  n,
const double *  a,
const double *  b,
double *  y 
)
inline

Definition at line 128 of file vmath.hpp.

void vsmc::erf ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 175 of file vmath.hpp.

void vsmc::erf ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 175 of file vmath.hpp.

void vsmc::erfc ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 176 of file vmath.hpp.

void vsmc::erfc ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 176 of file vmath.hpp.

void vsmc::erfcinv ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 179 of file vmath.hpp.

void vsmc::erfcinv ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 179 of file vmath.hpp.

void vsmc::erfinv ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 178 of file vmath.hpp.

void vsmc::erfinv ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 178 of file vmath.hpp.

void vsmc::exp ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 146 of file vmath.hpp.

void vsmc::exp ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 146 of file vmath.hpp.

void vsmc::expm1 ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 147 of file vmath.hpp.

void vsmc::expm1 ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 147 of file vmath.hpp.

template<typename RealType , typename RNGType >
void vsmc::exponential_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename ExponentialDistribution< RealType >::param_type &  param 
)
inline

Definition at line 109 of file exponential_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::exponential_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  lambda 
)
inline

Definition at line 512 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::exponential_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  lambda 
)
inline

Definition at line 519 of file mkl.hpp.

template<typename RealType , typename RNGType >
void vsmc::extreme_value_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename ExtremeValueDistribution< RealType >::param_type &  param 
)
inline

Definition at line 113 of file extreme_value_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::extreme_value_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  a,
float  b 
)
inline

Definition at line 526 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::extreme_value_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  a,
double  b 
)
inline

Definition at line 534 of file mkl.hpp.

template<typename RealType , typename RNGType >
void vsmc::fisher_f_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename FisherFDistribution< RealType >::param_type &  param 
)
inline

Definition at line 123 of file fisher_f_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::gamma_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename GammaDistribution< RealType >::param_type &  param 
)
inline

Definition at line 412 of file gamma_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::gamma_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  alpha,
float  beta 
)
inline

Definition at line 542 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::gamma_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  alpha,
double  beta 
)
inline

Definition at line 549 of file mkl.hpp.

template<typename >
inline ::hid_t vsmc::hdf5io_datatype ( )

HDF5 data type.

Definition at line 129 of file hdf5io.hpp.

void vsmc::hypot ( std::size_t  n,
const float *  a,
const float *  b,
float *  y 
)
inline

Definition at line 144 of file vmath.hpp.

void vsmc::hypot ( std::size_t  n,
const double *  a,
const double *  b,
double *  y 
)
inline

Definition at line 144 of file vmath.hpp.

void vsmc::inv ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 127 of file vmath.hpp.

void vsmc::inv ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 127 of file vmath.hpp.

void vsmc::invcbrt ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 132 of file vmath.hpp.

void vsmc::invcbrt ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 132 of file vmath.hpp.

void vsmc::invsqrt ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 130 of file vmath.hpp.

void vsmc::invsqrt ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 130 of file vmath.hpp.

template<typename RealType , typename RNGType >
void vsmc::laplace_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename LaplaceDistribution< RealType >::param_type &  param 
)
inline

Definition at line 128 of file laplace_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::laplace_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  location,
float  scale 
)
inline

Definition at line 556 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::laplace_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  location,
double  scale 
)
inline

Definition at line 563 of file mkl.hpp.

template<typename RealType , typename RNGType >
void vsmc::levy_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename LevyDistribution< RealType >::param_type &  param 
)
inline

Definition at line 112 of file levy_distribution.hpp.

void vsmc::lgamma ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 181 of file vmath.hpp.

void vsmc::lgamma ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 181 of file vmath.hpp.

void vsmc::linear_frac ( std::size_t  n,
const float *  a,
const float *  b,
float  beta_a,
float  beta_b,
float  mu_a,
float  mu_b,
float *  y 
)
inline

Definition at line 114 of file vmath.hpp.

void vsmc::linear_frac ( std::size_t  n,
const double *  a,
const double *  b,
double  beta_a,
double  beta_b,
double  mu_a,
double  mu_b,
double *  y 
)
inline

Definition at line 120 of file vmath.hpp.

void vsmc::log ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 148 of file vmath.hpp.

void vsmc::log ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 148 of file vmath.hpp.

void vsmc::log10 ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 149 of file vmath.hpp.

void vsmc::log10 ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 149 of file vmath.hpp.

void vsmc::log1p ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 150 of file vmath.hpp.

void vsmc::log1p ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 150 of file vmath.hpp.

template<typename RealType , typename RNGType >
void vsmc::logistic_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename LogisticDistribution< RealType >::param_type &  param 
)
inline

Definition at line 115 of file logistic_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::lognormal_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename LognormalDistribution< RealType >::param_type &  param 
)
inline

Definition at line 107 of file lognormal_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::lognormal_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  m,
float  s 
)
inline

Definition at line 570 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::lognormal_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  m,
double  s 
)
inline

Definition at line 577 of file mkl.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Philox2x32 > ( )
inline

Definition at line 45 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Philox2x64 > ( )
inline

Definition at line 47 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Philox4x32 > ( )
inline

Definition at line 46 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Philox4x64 > ( )
inline

Definition at line 48 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry2x32 > ( )
inline

Definition at line 50 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry2x32AVX2 > ( )
inline

Definition at line 55 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry2x32SSE2 > ( )
inline

Definition at line 61 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry2x64 > ( )
inline

Definition at line 52 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry2x64AVX2 > ( )
inline

Definition at line 57 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry2x64SSE2 > ( )
inline

Definition at line 63 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry4x32 > ( )
inline

Definition at line 51 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry4x32AVX2 > ( )
inline

Definition at line 56 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry4x32SSE2 > ( )
inline

Definition at line 62 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry4x64 > ( )
inline

Definition at line 53 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry4x64AVX2 > ( )
inline

Definition at line 58 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< ::vsmc::Threefry4x64SSE2 > ( )
inline

Definition at line 64 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< std::knuth_b > ( )
inline

Definition at line 43 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< std::minstd_rand > ( )
inline

Definition at line 37 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< std::minstd_rand0 > ( )
inline

Definition at line 36 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< std::mt19937 > ( )
inline

Definition at line 35 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< std::mt19937_64 > ( )
inline

Definition at line 38 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< std::ranlux24 > ( )
inline

Definition at line 41 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< std::ranlux24_base > ( )
inline

Definition at line 39 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< std::ranlux48 > ( )
inline

Definition at line 42 of file mkl_brng.hpp.

template<>
int vsmc::mkl_brng< std::ranlux48_base > ( )
inline

Definition at line 40 of file mkl_brng.hpp.

void vsmc::mul ( std::size_t  n,
const double *  a,
const double *  b,
double *  y 
)
inline

Definition at line 112 of file vmath.hpp.

void vsmc::mul ( std::size_t  n,
const float *  a,
const float *  b,
float *  y 
)
inline

Definition at line 112 of file vmath.hpp.

template<typename RealType , typename RNGType >
void vsmc::normal_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename NormalDistribution< RealType >::param_type &  param 
)
inline

Definition at line 269 of file normal_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::normal_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  mean,
float  stddev 
)
inline

Definition at line 584 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::normal_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  mean,
double  stddev 
)
inline

Definition at line 591 of file mkl.hpp.

template<typename RealType , typename RNGType >
void vsmc::normal_mv_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename NormalMVDistribution< RealType >::param_type &  param 
)
inline

Definition at line 408 of file normal_mv_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::normal_mv_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
std::size_t  m,
const float *  mean,
const float *  chol 
)
inline

Definition at line 598 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::normal_mv_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
std::size_t  m,
const double *  mean,
const double *  chol 
)
inline

Definition at line 606 of file mkl.hpp.

template<typename T >
bool vsmc::operator!= ( const SingleParticle< T > &  sp1,
const SingleParticle< T > &  sp2 
)

Definition at line 133 of file single_particle.hpp.

template<typename T1 , typename T2 , std::size_t Alignment, typename Memory >
bool vsmc::operator!= ( const AlignedAllocator< T1, Alignment, Memory > &  ,
const AlignedAllocator< T2, Alignment, Memory > &   
)
inline

Definition at line 339 of file aligned_memory.hpp.

template<typename T >
bool vsmc::operator!= ( const M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 389 of file simd.hpp.

bool vsmc::operator!= ( const M128 a,
const M128 b 
)
inline

Definition at line 575 of file simd.hpp.

bool vsmc::operator!= ( const M128D a,
const M128D b 
)
inline

Definition at line 707 of file simd.hpp.

template<typename T >
bool vsmc::operator!= ( const M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1099 of file simd.hpp.

bool vsmc::operator!= ( const M256 a,
const M256 b 
)
inline

Definition at line 1286 of file simd.hpp.

bool vsmc::operator!= ( const M256D a,
const M256D b 
)
inline

Definition at line 1421 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator& ( const M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 439 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator& ( const M128I< T > &  a,
b 
)
inline

Definition at line 491 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator& ( a,
const M128I< T > &  b 
)
inline

Definition at line 491 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator& ( const M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1149 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator& ( a,
const M256I< T > &  b 
)
inline

Definition at line 1201 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator& ( const M256I< T > &  a,
b 
)
inline

Definition at line 1201 of file simd.hpp.

template<typename T >
M128I<T>& vsmc::operator&= ( M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 491 of file simd.hpp.

template<typename T >
M128I<T>& vsmc::operator&= ( M128I< T > &  a,
b 
)
inline

Definition at line 491 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator&= ( M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1201 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator&= ( M256I< T > &  a,
b 
)
inline

Definition at line 1201 of file simd.hpp.

M128 vsmc::operator* ( const M128 a,
const M128 b 
)
inline

Definition at line 617 of file simd.hpp.

M128 vsmc::operator* ( float  a,
const M128 b 
)
inline

Definition at line 629 of file simd.hpp.

M128 vsmc::operator* ( const M128 a,
float  b 
)
inline

Definition at line 629 of file simd.hpp.

M128D vsmc::operator* ( const M128D a,
const M128D b 
)
inline

Definition at line 749 of file simd.hpp.

M128D vsmc::operator* ( const M128D a,
double  b 
)
inline

Definition at line 764 of file simd.hpp.

M128D vsmc::operator* ( double  a,
const M128D b 
)
inline

Definition at line 764 of file simd.hpp.

M256 vsmc::operator* ( const M256 a,
const M256 b 
)
inline

Definition at line 1328 of file simd.hpp.

M256 vsmc::operator* ( float  a,
const M256 b 
)
inline

Definition at line 1340 of file simd.hpp.

M256 vsmc::operator* ( const M256 a,
float  b 
)
inline

Definition at line 1340 of file simd.hpp.

M256D vsmc::operator* ( const M256D a,
const M256D b 
)
inline

Definition at line 1463 of file simd.hpp.

M256D vsmc::operator* ( double  a,
const M256D b 
)
inline

Definition at line 1478 of file simd.hpp.

M256D vsmc::operator* ( const M256D a,
double  b 
)
inline

Definition at line 1478 of file simd.hpp.

M128& vsmc::operator*= ( M128 a,
float  b 
)
inline

Definition at line 629 of file simd.hpp.

M128& vsmc::operator*= ( M128 a,
const M128 b 
)
inline

Definition at line 629 of file simd.hpp.

M128D& vsmc::operator*= ( M128D a,
const M128D b 
)
inline

Definition at line 764 of file simd.hpp.

M128D& vsmc::operator*= ( M128D a,
double  b 
)
inline

Definition at line 764 of file simd.hpp.

M256& vsmc::operator*= ( M256 a,
float  b 
)
inline

Definition at line 1340 of file simd.hpp.

M256& vsmc::operator*= ( M256 a,
const M256 b 
)
inline

Definition at line 1340 of file simd.hpp.

M256D& vsmc::operator*= ( M256D a,
double  b 
)
inline

Definition at line 1478 of file simd.hpp.

M256D& vsmc::operator*= ( M256D a,
const M256D b 
)
inline

Definition at line 1478 of file simd.hpp.

template<typename T , typename IntType >
SingleParticle<T> vsmc::operator+ ( const SingleParticle< T > &  sp,
IntType  n 
)

Definition at line 207 of file single_particle.hpp.

template<typename T , typename IntType >
SingleParticle<T> vsmc::operator+ ( IntType  n,
const SingleParticle< T > &  sp 
)

Definition at line 216 of file single_particle.hpp.

template<typename T >
M128I<T> vsmc::operator+ ( const M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 425 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator+ ( const M128I< T > &  a,
b 
)
inline

Definition at line 487 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator+ ( a,
const M128I< T > &  b 
)
inline

Definition at line 487 of file simd.hpp.

M128 vsmc::operator+ ( const M128 a,
const M128 b 
)
inline

Definition at line 607 of file simd.hpp.

M128 vsmc::operator+ ( const M128 a,
float  b 
)
inline

Definition at line 627 of file simd.hpp.

M128 vsmc::operator+ ( float  a,
const M128 b 
)
inline

Definition at line 627 of file simd.hpp.

M128D vsmc::operator+ ( const M128D a,
const M128D b 
)
inline

Definition at line 739 of file simd.hpp.

M128D vsmc::operator+ ( const M128D a,
double  b 
)
inline

Definition at line 760 of file simd.hpp.

M128D vsmc::operator+ ( double  a,
const M128D b 
)
inline

Definition at line 760 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator+ ( const M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1135 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator+ ( const M256I< T > &  a,
b 
)
inline

Definition at line 1197 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator+ ( a,
const M256I< T > &  b 
)
inline

Definition at line 1197 of file simd.hpp.

M256 vsmc::operator+ ( const M256 a,
const M256 b 
)
inline

Definition at line 1318 of file simd.hpp.

M256 vsmc::operator+ ( const M256 a,
float  b 
)
inline

Definition at line 1338 of file simd.hpp.

M256 vsmc::operator+ ( float  a,
const M256 b 
)
inline

Definition at line 1338 of file simd.hpp.

M256D vsmc::operator+ ( const M256D a,
const M256D b 
)
inline

Definition at line 1453 of file simd.hpp.

M256D vsmc::operator+ ( double  a,
const M256D b 
)
inline

Definition at line 1474 of file simd.hpp.

M256D vsmc::operator+ ( const M256D a,
double  b 
)
inline

Definition at line 1474 of file simd.hpp.

template<typename T >
SingleParticle<T>& vsmc::operator++ ( SingleParticle< T > &  sp)

Definition at line 173 of file single_particle.hpp.

template<typename T >
SingleParticle<T> vsmc::operator++ ( SingleParticle< T > &  sp,
int   
)

Definition at line 181 of file single_particle.hpp.

template<typename T , typename IntType >
SingleParticle<T>& vsmc::operator+= ( SingleParticle< T > &  sp,
IntType  n 
)

Definition at line 234 of file single_particle.hpp.

template<typename T >
M128I<T>& vsmc::operator+= ( M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 487 of file simd.hpp.

template<typename T >
M128I<T>& vsmc::operator+= ( M128I< T > &  a,
b 
)
inline

Definition at line 487 of file simd.hpp.

M128& vsmc::operator+= ( M128 a,
const M128 b 
)
inline

Definition at line 627 of file simd.hpp.

M128& vsmc::operator+= ( M128 a,
float  b 
)
inline

Definition at line 627 of file simd.hpp.

M128D& vsmc::operator+= ( M128D a,
const M128D b 
)
inline

Definition at line 760 of file simd.hpp.

M128D& vsmc::operator+= ( M128D a,
double  b 
)
inline

Definition at line 760 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator+= ( M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1197 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator+= ( M256I< T > &  a,
b 
)
inline

Definition at line 1197 of file simd.hpp.

M256& vsmc::operator+= ( M256 a,
float  b 
)
inline

Definition at line 1338 of file simd.hpp.

M256& vsmc::operator+= ( M256 a,
const M256 b 
)
inline

Definition at line 1338 of file simd.hpp.

M256D& vsmc::operator+= ( M256D a,
const M256D b 
)
inline

Definition at line 1474 of file simd.hpp.

M256D& vsmc::operator+= ( M256D a,
double  b 
)
inline

Definition at line 1474 of file simd.hpp.

template<typename T , typename IntType >
SingleParticle<T> vsmc::operator- ( const SingleParticle< T > &  sp,
IntType  n 
)

Definition at line 225 of file single_particle.hpp.

template<typename T >
std::ptrdiff_t vsmc::operator- ( const SingleParticle< T > &  sp1,
const SingleParticle< T > &  sp2 
)

Definition at line 250 of file single_particle.hpp.

template<typename T >
M128I<T> vsmc::operator- ( const M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 432 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator- ( const M128I< T > &  a,
b 
)
inline

Definition at line 489 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator- ( a,
const M128I< T > &  b 
)
inline

Definition at line 489 of file simd.hpp.

M128 vsmc::operator- ( const M128 a,
const M128 b 
)
inline

Definition at line 612 of file simd.hpp.

M128 vsmc::operator- ( const M128 a,
float  b 
)
inline

Definition at line 628 of file simd.hpp.

M128 vsmc::operator- ( float  a,
const M128 b 
)
inline

Definition at line 628 of file simd.hpp.

M128D vsmc::operator- ( const M128D a,
const M128D b 
)
inline

Definition at line 744 of file simd.hpp.

M128D vsmc::operator- ( double  a,
const M128D b 
)
inline

Definition at line 762 of file simd.hpp.

M128D vsmc::operator- ( const M128D a,
double  b 
)
inline

Definition at line 762 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator- ( const M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1142 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator- ( a,
const M256I< T > &  b 
)
inline

Definition at line 1199 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator- ( const M256I< T > &  a,
b 
)
inline

Definition at line 1199 of file simd.hpp.

M256 vsmc::operator- ( const M256 a,
const M256 b 
)
inline

Definition at line 1323 of file simd.hpp.

M256 vsmc::operator- ( float  a,
const M256 b 
)
inline

Definition at line 1339 of file simd.hpp.

M256 vsmc::operator- ( const M256 a,
float  b 
)
inline

Definition at line 1339 of file simd.hpp.

M256D vsmc::operator- ( const M256D a,
const M256D b 
)
inline

Definition at line 1458 of file simd.hpp.

M256D vsmc::operator- ( double  a,
const M256D b 
)
inline

Definition at line 1476 of file simd.hpp.

M256D vsmc::operator- ( const M256D a,
double  b 
)
inline

Definition at line 1476 of file simd.hpp.

template<typename T >
SingleParticle<T>& vsmc::operator-- ( SingleParticle< T > &  sp)

Definition at line 190 of file single_particle.hpp.

template<typename T >
SingleParticle<T> vsmc::operator-- ( SingleParticle< T > &  sp,
int   
)

Definition at line 198 of file single_particle.hpp.

template<typename T , typename IntType >
SingleParticle<T>& vsmc::operator-= ( SingleParticle< T > &  sp,
IntType  n 
)

Definition at line 242 of file single_particle.hpp.

template<typename T >
M128I<T>& vsmc::operator-= ( M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 489 of file simd.hpp.

template<typename T >
M128I<T>& vsmc::operator-= ( M128I< T > &  a,
b 
)
inline

Definition at line 489 of file simd.hpp.

M128& vsmc::operator-= ( M128 a,
float  b 
)
inline

Definition at line 628 of file simd.hpp.

M128& vsmc::operator-= ( M128 a,
const M128 b 
)
inline

Definition at line 628 of file simd.hpp.

M128D& vsmc::operator-= ( M128D a,
const M128D b 
)
inline

Definition at line 762 of file simd.hpp.

M128D& vsmc::operator-= ( M128D a,
double  b 
)
inline

Definition at line 762 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator-= ( M256I< T > &  a,
b 
)
inline

Definition at line 1199 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator-= ( M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1199 of file simd.hpp.

M256& vsmc::operator-= ( M256 a,
const M256 b 
)
inline

Definition at line 1339 of file simd.hpp.

M256& vsmc::operator-= ( M256 a,
float  b 
)
inline

Definition at line 1339 of file simd.hpp.

M256D& vsmc::operator-= ( M256D a,
const M256D b 
)
inline

Definition at line 1476 of file simd.hpp.

M256D& vsmc::operator-= ( M256D a,
double  b 
)
inline

Definition at line 1476 of file simd.hpp.

M128 vsmc::operator/ ( const M128 a,
const M128 b 
)
inline

Definition at line 622 of file simd.hpp.

M128 vsmc::operator/ ( float  a,
const M128 b 
)
inline

Definition at line 630 of file simd.hpp.

M128 vsmc::operator/ ( const M128 a,
float  b 
)
inline

Definition at line 630 of file simd.hpp.

M128D vsmc::operator/ ( const M128D a,
const M128D b 
)
inline

Definition at line 754 of file simd.hpp.

M128D vsmc::operator/ ( double  a,
const M128D b 
)
inline

Definition at line 766 of file simd.hpp.

M128D vsmc::operator/ ( const M128D a,
double  b 
)
inline

Definition at line 766 of file simd.hpp.

M256 vsmc::operator/ ( const M256 a,
const M256 b 
)
inline

Definition at line 1333 of file simd.hpp.

M256 vsmc::operator/ ( float  a,
const M256 b 
)
inline

Definition at line 1341 of file simd.hpp.

M256 vsmc::operator/ ( const M256 a,
float  b 
)
inline

Definition at line 1341 of file simd.hpp.

M256D vsmc::operator/ ( const M256D a,
const M256D b 
)
inline

Definition at line 1468 of file simd.hpp.

M256D vsmc::operator/ ( double  a,
const M256D b 
)
inline

Definition at line 1480 of file simd.hpp.

M256D vsmc::operator/ ( const M256D a,
double  b 
)
inline

Definition at line 1480 of file simd.hpp.

M128& vsmc::operator/= ( M128 a,
const M128 b 
)
inline

Definition at line 630 of file simd.hpp.

M128& vsmc::operator/= ( M128 a,
float  b 
)
inline

Definition at line 630 of file simd.hpp.

M128D& vsmc::operator/= ( M128D a,
double  b 
)
inline

Definition at line 766 of file simd.hpp.

M128D& vsmc::operator/= ( M128D a,
const M128D b 
)
inline

Definition at line 766 of file simd.hpp.

M256& vsmc::operator/= ( M256 a,
float  b 
)
inline

Definition at line 1341 of file simd.hpp.

M256& vsmc::operator/= ( M256 a,
const M256 b 
)
inline

Definition at line 1341 of file simd.hpp.

M256D& vsmc::operator/= ( M256D a,
double  b 
)
inline

Definition at line 1480 of file simd.hpp.

M256D& vsmc::operator/= ( M256D a,
const M256D b 
)
inline

Definition at line 1480 of file simd.hpp.

template<typename T >
bool vsmc::operator< ( const SingleParticle< T > &  sp1,
const SingleParticle< T > &  sp2 
)

Definition at line 141 of file single_particle.hpp.

template<typename CharT , typename Traits , typename T , std::size_t N>
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const std::array< T, N > &  ary 
)
inline

Definition at line 151 of file common.hpp.

template<typename CharT , typename Traits , MatrixLayout Layout, std::size_t Dim, typename T >
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const StateMatrixBase< Layout, Dim, T > &  smatrix 
)
inline

Definition at line 200 of file state_matrix.hpp.

template<typename CharT , typename Traits , typename T , std::size_t N>
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const Vector< T > &  vec 
)
inline

Definition at line 182 of file common.hpp.

template<typename CharT , typename Traits , typename T >
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const Sampler< T > &  sampler 
)
inline

Definition at line 861 of file sampler.hpp.

template<typename CharT , typename Traits , typename T >
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const M128I< T > &  a 
)
inline

Definition at line 395 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator<< ( const M128I< T > &  a,
int  imm8 
)
inline

Definition at line 457 of file simd.hpp.

template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const M128 a 
)
inline

Definition at line 578 of file simd.hpp.

template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const M128D a 
)
inline

Definition at line 710 of file simd.hpp.

template<typename CharT , typename Traits , typename T >
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const M256I< T > &  a 
)
inline

Definition at line 1105 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator<< ( const M256I< T > &  a,
int  imm8 
)
inline

Definition at line 1167 of file simd.hpp.

template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const M256 a 
)
inline

Definition at line 1289 of file simd.hpp.

template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& vsmc::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const M256D a 
)
inline

Definition at line 1424 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator<<= ( M128I< T > &  a,
int  imm8 
)
inline

Definition at line 464 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator<<= ( M256I< T > &  a,
int  imm8 
)
inline

Definition at line 1174 of file simd.hpp.

template<typename T >
bool vsmc::operator<= ( const SingleParticle< T > &  sp1,
const SingleParticle< T > &  sp2 
)

Definition at line 157 of file single_particle.hpp.

template<typename T >
bool vsmc::operator== ( const SingleParticle< T > &  sp1,
const SingleParticle< T > &  sp2 
)

Definition at line 125 of file single_particle.hpp.

template<typename T1 , typename T2 , std::size_t Alignment, typename Memory >
bool vsmc::operator== ( const AlignedAllocator< T1, Alignment, Memory > &  ,
const AlignedAllocator< T2, Alignment, Memory > &   
)
inline

Definition at line 332 of file aligned_memory.hpp.

template<typename T >
bool vsmc::operator== ( const M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 378 of file simd.hpp.

bool vsmc::operator== ( const M128 a,
const M128 b 
)
inline

Definition at line 565 of file simd.hpp.

bool vsmc::operator== ( const M128D a,
const M128D b 
)
inline

Definition at line 697 of file simd.hpp.

template<typename T >
bool vsmc::operator== ( const M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1088 of file simd.hpp.

bool vsmc::operator== ( const M256 a,
const M256 b 
)
inline

Definition at line 1276 of file simd.hpp.

bool vsmc::operator== ( const M256D a,
const M256D b 
)
inline

Definition at line 1411 of file simd.hpp.

template<typename T >
bool vsmc::operator> ( const SingleParticle< T > &  sp1,
const SingleParticle< T > &  sp2 
)

Definition at line 149 of file single_particle.hpp.

template<typename T >
bool vsmc::operator>= ( const SingleParticle< T > &  sp1,
const SingleParticle< T > &  sp2 
)

Definition at line 165 of file single_particle.hpp.

template<typename CharT , typename Traits , typename T , std::size_t N>
std::basic_istream<CharT, Traits>& vsmc::operator>> ( std::basic_istream< CharT, Traits > &  is,
std::array< T, N > &  ary 
)
inline

Definition at line 165 of file common.hpp.

template<typename CharT , typename Traits , typename T , std::size_t N>
std::basic_istream<CharT, Traits>& vsmc::operator>> ( std::basic_istream< CharT, Traits > &  is,
Vector< T > &  vec 
)
inline

Definition at line 196 of file common.hpp.

template<typename CharT , typename Traits , typename T >
std::basic_istream<CharT, Traits>& vsmc::operator>> ( std::basic_istream< CharT, Traits > &  is,
M128I< T > &  a 
)
inline

Definition at line 409 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator>> ( const M128I< T > &  a,
int  imm8 
)
inline

Definition at line 472 of file simd.hpp.

template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& vsmc::operator>> ( std::basic_istream< CharT, Traits > &  is,
M128 a 
)
inline

Definition at line 592 of file simd.hpp.

template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& vsmc::operator>> ( std::basic_istream< CharT, Traits > &  is,
M128D a 
)
inline

Definition at line 724 of file simd.hpp.

template<typename CharT , typename Traits , typename T >
std::basic_istream<CharT, Traits>& vsmc::operator>> ( std::basic_istream< CharT, Traits > &  is,
M256I< T > &  a 
)
inline

Definition at line 1119 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator>> ( const M256I< T > &  a,
int  imm8 
)
inline

Definition at line 1182 of file simd.hpp.

template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& vsmc::operator>> ( std::basic_istream< CharT, Traits > &  is,
M256 a 
)
inline

Definition at line 1303 of file simd.hpp.

template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& vsmc::operator>> ( std::basic_istream< CharT, Traits > &  is,
M256D a 
)
inline

Definition at line 1438 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator>>= ( M128I< T > &  a,
int  imm8 
)
inline

Definition at line 479 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator>>= ( M256I< T > &  a,
int  imm8 
)
inline

Definition at line 1189 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator^ ( const M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 451 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator^ ( a,
const M128I< T > &  b 
)
inline

Definition at line 495 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator^ ( const M128I< T > &  a,
b 
)
inline

Definition at line 495 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator^ ( const M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1161 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator^ ( a,
const M256I< T > &  b 
)
inline

Definition at line 1205 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator^ ( const M256I< T > &  a,
b 
)
inline

Definition at line 1205 of file simd.hpp.

template<typename T >
M128I<T>& vsmc::operator^= ( M128I< T > &  a,
b 
)
inline

Definition at line 495 of file simd.hpp.

template<typename T >
M128I<T>& vsmc::operator^= ( M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 495 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator^= ( M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1205 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator^= ( M256I< T > &  a,
b 
)
inline

Definition at line 1205 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator| ( const M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 445 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator| ( a,
const M128I< T > &  b 
)
inline

Definition at line 493 of file simd.hpp.

template<typename T >
M128I<T> vsmc::operator| ( const M128I< T > &  a,
b 
)
inline

Definition at line 493 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator| ( const M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1155 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator| ( a,
const M256I< T > &  b 
)
inline

Definition at line 1203 of file simd.hpp.

template<typename T >
M256I<T> vsmc::operator| ( const M256I< T > &  a,
b 
)
inline

Definition at line 1203 of file simd.hpp.

template<typename T >
M128I<T>& vsmc::operator|= ( M128I< T > &  a,
b 
)
inline

Definition at line 493 of file simd.hpp.

template<typename T >
M128I<T>& vsmc::operator|= ( M128I< T > &  a,
const M128I< T > &  b 
)
inline

Definition at line 493 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator|= ( M256I< T > &  a,
b 
)
inline

Definition at line 1203 of file simd.hpp.

template<typename T >
M256I<T>& vsmc::operator|= ( M256I< T > &  a,
const M256I< T > &  b 
)
inline

Definition at line 1203 of file simd.hpp.

template<typename RealType , typename RNGType >
void vsmc::pareto_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename ParetoDistribution< RealType >::param_type &  param 
)
inline

Definition at line 108 of file pareto_distribution.hpp.

void vsmc::pow ( std::size_t  n,
const float *  a,
const float *  b,
float *  y 
)
inline

Definition at line 135 of file vmath.hpp.

void vsmc::pow ( std::size_t  n,
const double *  a,
const double *  b,
double *  y 
)
inline

Definition at line 135 of file vmath.hpp.

void vsmc::pow ( std::size_t  n,
const float *  a,
float  b,
float *  y 
)
inline

Definition at line 136 of file vmath.hpp.

void vsmc::pow ( std::size_t  n,
const double *  a,
double  b,
double *  y 
)
inline

Definition at line 140 of file vmath.hpp.

void vsmc::pow2o3 ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 133 of file vmath.hpp.

void vsmc::pow2o3 ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 133 of file vmath.hpp.

void vsmc::pow3o2 ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 134 of file vmath.hpp.

void vsmc::pow3o2 ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 134 of file vmath.hpp.

template<typename RealType , typename RNGType >
void vsmc::rayleigh_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename RayleighDistribution< RealType >::param_type &  param 
)
inline

Definition at line 109 of file rayleigh_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::rayleigh_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  sigma 
)
inline

Definition at line 614 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::rayleigh_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  sigma 
)
inline

Definition at line 622 of file mkl.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
ChiSquaredDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 94 of file chi_squared_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
ExponentialDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 109 of file exponential_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
ExtremeValueDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 113 of file extreme_value_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
CauchyDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 115 of file cauchy_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
FisherFDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 123 of file fisher_f_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
U01CCDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 304 of file u01_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
U01CODistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 305 of file u01_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
U01OCDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 306 of file u01_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
U01OODistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 307 of file u01_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
GammaDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 412 of file gamma_distribution.hpp.

template<typename Generator >
void vsmc::rng_rand ( CounterEngine< Generator > &  rng,
std::size_t  n,
typename CounterEngine< Generator >::result_type *  r 
)
inline

Definition at line 499 of file counter.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
BetaDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 583 of file beta_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  ,
DiscreteDistribution< RealType > &  ,
std::size_t  ,
RealType *   
)
inline
template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
LaplaceDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 128 of file laplace_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
LevyDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 112 of file levy_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
LogisticDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 115 of file logistic_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
LognormalDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 107 of file lognormal_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
NormalDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 269 of file normal_distribution.hpp.

template<typename RealType , std::size_t Dim, typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
NormalMVDistribution< RealType, Dim > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 415 of file normal_mv_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
ParetoDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 108 of file pareto_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
RayleighDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 109 of file rayleigh_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
StudentTDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 130 of file student_t_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
U01Distribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 303 of file u01_distribution.hpp.

template<typename RealType , typename RNGType , typename Left , typename Right >
void vsmc::rng_rand ( RNGType &  ,
U01LRDistribution< RealType, Left, Right > &  ,
std::size_t  ,
RealType *   
)
inline
template<typename UIntType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
UniformBitsDistribution< UIntType > &  dist,
std::size_t  n,
UIntType *  r 
)
inline

Definition at line 171 of file uniform_bits_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
UniformRealDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 107 of file uniform_real_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::rng_rand ( RNGType &  rng,
WeibullDistribution< RealType > &  dist,
std::size_t  n,
RealType *  r 
)
inline

Definition at line 119 of file weibull_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::rng_rand ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
typename MKLEngine< BRNG, Bits >::result_type *  r 
)
inline

Definition at line 477 of file mkl.hpp.

void vsmc::sin ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 153 of file vmath.hpp.

void vsmc::sin ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 153 of file vmath.hpp.

void vsmc::sincos ( std::size_t  n,
const float *  a,
float *  y,
float *  z 
)
inline

Definition at line 154 of file vmath.hpp.

void vsmc::sincos ( std::size_t  n,
const double *  a,
double *  y,
double *  z 
)
inline

Definition at line 158 of file vmath.hpp.

void vsmc::sinh ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 169 of file vmath.hpp.

void vsmc::sinh ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 169 of file vmath.hpp.

void vsmc::sqr ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 111 of file vmath.hpp.

void vsmc::sqr ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 111 of file vmath.hpp.

void vsmc::sqrt ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 129 of file vmath.hpp.

void vsmc::sqrt ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 129 of file vmath.hpp.

template<typename RealType , typename RNGType >
void vsmc::student_t_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename StudentTDistribution< RealType >::param_type &  param 
)
inline

Definition at line 130 of file student_t_distribution.hpp.

void vsmc::sub ( std::size_t  n,
const double *  a,
const double *  b,
double *  y 
)
inline

Definition at line 110 of file vmath.hpp.

void vsmc::sub ( std::size_t  n,
const float *  a,
const float *  b,
float *  y 
)
inline

Definition at line 110 of file vmath.hpp.

void vsmc::tan ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 162 of file vmath.hpp.

void vsmc::tan ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 162 of file vmath.hpp.

void vsmc::tanh ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 170 of file vmath.hpp.

void vsmc::tanh ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 170 of file vmath.hpp.

void vsmc::tgamm ( std::size_t  n,
const float *  a,
float *  y 
)
inline

Definition at line 182 of file vmath.hpp.

void vsmc::tgamm ( std::size_t  n,
const double *  a,
double *  y 
)
inline

Definition at line 182 of file vmath.hpp.

template<typename RealType , typename RNGType >
void vsmc::u01_cc_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename U01CCDistribution< RealType >::param_type &   
)
inline

Definition at line 304 of file u01_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::u01_co_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename U01CODistribution< RealType >::param_type &   
)
inline

Definition at line 305 of file u01_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::u01_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename U01Distribution< RealType >::param_type &   
)
inline

Definition at line 303 of file u01_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::u01_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r 
)
inline

Definition at line 630 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::u01_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r 
)
inline

Definition at line 637 of file mkl.hpp.

template<typename , typename , typename RealType , typename RNGType >
void vsmc::u01_lr_distribution ( RNGType &  ,
std::size_t  ,
RealType *   
)
inline
template<typename RealType , typename RNGType >
void vsmc::u01_oc_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename U01OCDistribution< RealType >::param_type &   
)
inline

Definition at line 306 of file u01_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::u01_oo_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename U01OODistribution< RealType >::param_type &   
)
inline

Definition at line 307 of file u01_distribution.hpp.

template<typename UIntType , typename RNGType >
void vsmc::uniform_bits_distribution ( RNGType &  rng,
std::size_t  n,
UIntType *  r,
const typename UniformBitsDistribution< UIntType >::param_type &   
)
inline

Definition at line 171 of file uniform_bits_distribution.hpp.

template<typename UIntType , typename RNGType >
void vsmc::uniform_bits_distribution ( RNGType &  rng,
std::size_t  n,
UIntType *  r 
)
inline

Definition at line 152 of file uniform_bits_distribution.hpp.

template<typename RealType , typename RNGType >
void vsmc::uniform_real_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename UniformRealDistribution< RealType >::param_type &  param 
)
inline

Definition at line 107 of file uniform_real_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::uniform_real_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  a,
float  b 
)
inline

Definition at line 644 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::uniform_real_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  a,
double  b 
)
inline

Definition at line 651 of file mkl.hpp.

template<typename RealType , typename RNGType >
void vsmc::weibull_distribution ( RNGType &  rng,
std::size_t  n,
RealType *  r,
const typename WeibullDistribution< RealType >::param_type &  param 
)
inline

Definition at line 119 of file weibull_distribution.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::weibull_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
float *  r,
float  a,
float  b 
)
inline

Definition at line 658 of file mkl.hpp.

template<MKL_INT BRNG, int Bits>
void vsmc::weibull_distribution ( MKLEngine< BRNG, Bits > &  rng,
std::size_t  n,
double *  r,
double  a,
double  b 
)
inline

Definition at line 665 of file mkl.hpp.