vSMC
vSMC: Scalable Monte Carlo
|
Particle class representing the whole particle set. More...
#include <vsmc/core/particle.hpp>
Public Types | |
using | resample_type = std::function< void(std::size_t, std::size_t, rng_type &, const double *, size_type *)> |
using | rng_set_type = RNGSetType< T > |
using | rng_type = typename rng_set_type::rng_type |
using | size_type = SizeType< T > |
using | sp_type = SingleParticle< T > |
using | value_type = T |
using | weight_type = WeightType< T > |
Public Member Functions | |
Particle (size_type N) | |
sp_type | begin () |
Get a SingleParticle<T> object for the first particle. More... | |
Particle< T > | clone (bool new_rng) const |
Clone the particle system except the RNG engines. More... | |
Particle< T > & | clone (const Particle< T > &other, bool retain_rng) |
Clone another particle system except the RNG engines. More... | |
Particle< T > & | clone (Particle< T > &&other, bool retain_rng) |
sp_type | end () |
Get a SingleParticle<T> object for the first particle. More... | |
bool | resample (const resample_type &op, double threshold) |
Performing resampling if ESS/N < threshold. More... | |
rng_type & | rng (size_type id) |
Get an (parallel) RNG stream for a given particle. More... | |
const rng_type & | rng (size_type id) const |
Get an (parallel) RNG stream for a given particle. More... | |
rng_type & | rng () |
Get the (sequential) RNG used stream for resampling. More... | |
const rng_type & | rng () const |
Get the (sequential) RNG used stream for resampling. More... | |
rng_set_type & | rng_set () |
Read and write access to the RNG collection object. More... | |
const rng_set_type & | rng_set () const |
Read only access to the RNG collection object. More... | |
size_type | size () const |
Number of particles. More... | |
sp_type | sp (size_type id) |
Get a SingleParticle<T> object. More... | |
value_type & | value () |
Read and write access to the value collection object. More... | |
const value_type & | value () const |
Read only access to the value collection object. More... | |
weight_type & | weight () |
Read and write access to the weight collection object. More... | |
const weight_type & | weight () const |
Read only access to the weight collection object. More... | |
Particle class representing the whole particle set.
Definition at line 48 of file particle.hpp.
using vsmc::Particle< T >::resample_type = std::function<void( std::size_t, std::size_t, rng_type &, const double *, size_type *)> |
Definition at line 57 of file particle.hpp.
using vsmc::Particle< T >::rng_set_type = RNGSetType<T> |
Definition at line 54 of file particle.hpp.
using vsmc::Particle< T >::rng_type = typename rng_set_type::rng_type |
Definition at line 55 of file particle.hpp.
using vsmc::Particle< T >::size_type = SizeType<T> |
Definition at line 51 of file particle.hpp.
using vsmc::Particle< T >::sp_type = SingleParticle<T> |
Definition at line 58 of file particle.hpp.
using vsmc::Particle< T >::value_type = T |
Definition at line 52 of file particle.hpp.
using vsmc::Particle< T >::weight_type = WeightType<T> |
Definition at line 53 of file particle.hpp.
|
inlineexplicit |
Definition at line 60 of file particle.hpp.
|
inline |
Get a SingleParticle<T> object for the first particle.
Definition at line 158 of file particle.hpp.
|
inline |
Clone the particle system except the RNG engines.
new_rng | If true, the new particle system has new-seeded RNG. Otherwise false, it is exactly the same as the current. |
Definition at line 73 of file particle.hpp.
|
inline |
Clone another particle system except the RNG engines.
other | The particle system to be cloned |
retain_rng | If true, retain the current system's RNG. Otherwise, it is exactly the same as the new one. |
Definition at line 89 of file particle.hpp.
|
inline |
Definition at line 105 of file particle.hpp.
|
inline |
Get a SingleParticle<T> object for the first particle.
Definition at line 161 of file particle.hpp.
|
inline |
Performing resampling if ESS/N < threshold.
op | The resampling operation funcitor |
threshold | The threshold of ESS/N below which resampling will be performed |
Definition at line 170 of file particle.hpp.
|
inline |
Get an (parallel) RNG stream for a given particle.
Definition at line 143 of file particle.hpp.
|
inline |
Get an (parallel) RNG stream for a given particle.
Definition at line 146 of file particle.hpp.
|
inline |
Get the (sequential) RNG used stream for resampling.
Definition at line 149 of file particle.hpp.
|
inline |
Get the (sequential) RNG used stream for resampling.
Definition at line 152 of file particle.hpp.
|
inline |
Read and write access to the RNG collection object.
Definition at line 137 of file particle.hpp.
|
inline |
Read only access to the RNG collection object.
Definition at line 140 of file particle.hpp.
|
inline |
Number of particles.
Definition at line 122 of file particle.hpp.
|
inline |
Get a SingleParticle<T> object.
Definition at line 155 of file particle.hpp.
|
inline |
Read and write access to the value collection object.
Definition at line 125 of file particle.hpp.
|
inline |
Read only access to the value collection object.
Definition at line 128 of file particle.hpp.
|
inline |
Read and write access to the weight collection object.
Definition at line 131 of file particle.hpp.
|
inline |
Read only access to the weight collection object.
Definition at line 134 of file particle.hpp.