32 #ifndef MCKL_SMP_BACKEND_SEQ_HPP 33 #define MCKL_SMP_BACKEND_SEQ_HPP 41 template <
typename T,
typename Derived>
56 run(iter, particle, 1);
59 template <
typename... Args>
62 this->eval_first(iter, particle);
63 this->eval_range(iter, particle.
range());
64 this->eval_last(iter, particle);
70 template <
typename T,
typename Derived>
76 std::size_t iter, std::size_t dim,
Particle<T> &particle,
double *r)
78 run(iter, dim, particle, r);
85 std::
size_t iter,
std::
size_t dim,
Particle<T> &particle,
double *r)
87 run(iter, dim, particle, r, 1);
90 template <
typename... Args>
92 double *r, std::size_t, Args &&...)
94 this->eval_first(iter, particle);
95 this->eval_range(iter, dim, particle.
range(), r);
96 this->eval_last(iter, particle);
102 template <
typename T,
typename Derived>
107 template <
typename T,
typename Derived>
112 #endif // MCKL_SMP_BACKEND_SEQ_HPP SMCSampler evaluation base dispatch class.
void run(std::size_t iter, Particle< T > &particle, std::size_t, Args &&...)
void operator()(std::size_t iter, Particle< T > &particle)
SMCSMCSampler<T>::eval_type.
SMCEstimator<T>::eval_type subtype.
ParticleRange< T > range(size_type grainsize=1)
Get a Range<ParticleItrator<T>> object of all particles.
SMCEstimator<T>::eval_type.
SMCSampler<T>::eval_type subtype.
void run(std::size_t iter, std::size_t dim, Particle< T > &particle, double *r, std::size_t, Args &&...)
SMCEstimator evalution base dispatch class.
void operator()(std::size_t iter, std::size_t dim, Particle< T > &particle, double *r)
#define MCKL_DEFINE_SMP_BACKEND_SPECIAL(Impl, Name)