vSMC
vSMC: Scalable Monte Carlo
Public Types | Public Member Functions | Protected Member Functions | List of all members
vsmc::WeightSetMPI< WeightSetBase, ID > Class Template Reference

Particle::weight_set_type subtype using MPI. More...

#include <vsmc/internal/forward.hpp>

Public Types

typedef ID mpi_id
 
typedef WeightSetBase::size_type size_type
 

Public Member Functions

 WeightSetMPI (size_type N)
 
void read_resample_weight (double *first) const
 
size_type resample_size () const
 
const double * resample_weight_data () const
 
const ::boost::mpi::communicator & world () const
 A duplicated MPI communicator for this weight set object. More...
 

Protected Member Functions

double compute_cess (const double *first, bool use_log) const
 
double compute_ess (const double *first, bool use_log) const
 
void normalize_log_weight ()
 
void normalize_weight ()
 

Detailed Description

template<typename WeightSetBase, typename ID>
class vsmc::WeightSetMPI< WeightSetBase, ID >

Particle::weight_set_type subtype using MPI.

Definition at line 71 of file forward.hpp.

Member Typedef Documentation

template<typename WeightSetBase , typename ID >
typedef ID vsmc::WeightSetMPI< WeightSetBase, ID >::mpi_id

Definition at line 55 of file backend_mpi.hpp.

template<typename WeightSetBase , typename ID >
typedef WeightSetBase::size_type vsmc::WeightSetMPI< WeightSetBase, ID >::size_type

Definition at line 54 of file backend_mpi.hpp.

Constructor & Destructor Documentation

template<typename WeightSetBase , typename ID >
vsmc::WeightSetMPI< WeightSetBase, ID >::WeightSetMPI ( size_type  N)
inlineexplicit

Definition at line 57 of file backend_mpi.hpp.

Member Function Documentation

template<typename WeightSetBase , typename ID >
double vsmc::WeightSetMPI< WeightSetBase, ID >::compute_cess ( const double *  first,
bool  use_log 
) const
inlineprotected

Definition at line 179 of file backend_mpi.hpp.

template<typename WeightSetBase , typename ID >
double vsmc::WeightSetMPI< WeightSetBase, ID >::compute_ess ( const double *  first,
bool  use_log 
) const
inlineprotected

Definition at line 132 of file backend_mpi.hpp.

template<typename WeightSetBase , typename ID >
void vsmc::WeightSetMPI< WeightSetBase, ID >::normalize_log_weight ( )
inlineprotected

Definition at line 93 of file backend_mpi.hpp.

template<typename WeightSetBase , typename ID >
void vsmc::WeightSetMPI< WeightSetBase, ID >::normalize_weight ( )
inlineprotected

Definition at line 109 of file backend_mpi.hpp.

template<typename WeightSetBase , typename ID >
void vsmc::WeightSetMPI< WeightSetBase, ID >::read_resample_weight ( double *  first) const
inline

Definition at line 68 of file backend_mpi.hpp.

template<typename WeightSetBase , typename ID >
size_type vsmc::WeightSetMPI< WeightSetBase, ID >::resample_size ( ) const
inline

Definition at line 66 of file backend_mpi.hpp.

template<typename WeightSetBase , typename ID >
const double* vsmc::WeightSetMPI< WeightSetBase, ID >::resample_weight_data ( ) const
inline

Definition at line 80 of file backend_mpi.hpp.

template<typename WeightSetBase , typename ID >
const ::boost::mpi::communicator& vsmc::WeightSetMPI< WeightSetBase, ID >::world ( ) const
inline

A duplicated MPI communicator for this weight set object.

Definition at line 89 of file backend_mpi.hpp.