Public Member Functions | Protected Member Functions | Protected Attributes
BFL::DiscretePdf Class Reference

Class representing a PDF on a discrete variable. More...

#include <discretepdf.h>

Inheritance diagram for BFL::DiscretePdf:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual DiscretePdfClone () const
 Clone function.
 DiscretePdf (unsigned int num_states=0)
 Constructor (dimension = number of classes) An equal probability is set for all classes.
 DiscretePdf (const DiscretePdf &)
 Copy Constructor.
int MostProbableStateGet ()
 Get the index of the most probable state.
unsigned int NumStatesGet () const
 Get the number of discrete States.
vector< ProbabilityProbabilitiesGet () const
 Get all probabilities.
bool ProbabilitiesSet (vector< Probability > &values)
 Set all probabilities.
Probability ProbabilityGet (const int &state) const
 Implementation of virtual base class method.
bool ProbabilitySet (int state, Probability a)
 Function to change/set the probability of a single state.
bool SampleFrom (vector< Sample< int > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const
bool SampleFrom (Sample< int > &one_sample, int method=DEFAULT, void *args=NULL) const
 Draw 1 sample from the Pdf:
virtual ~DiscretePdf ()
 Destructor.

Protected Member Functions

bool CumPDFUpdate ()
 Updates the cumPDF.
bool NormalizeProbs ()
 Normalize all the probabilities (eg. after setting a probability)

Protected Attributes

vector< double > _CumPDF
 STL-vector containing the Cumulative PDF (for efficient sampling)
unsigned int _num_states
 The number of discrete state.
vector< Probability > * _Values_p
 Pointer to the discrete PDF-values, the sum of the elements = 1.

Detailed Description

Class representing a PDF on a discrete variable.

This class is an instantation from the template class Pdf, with added methods to get a set the probability of a certain discrete value (methods only relevant for discrete pdfs)

Definition at line 34 of file discretepdf.h.


Constructor & Destructor Documentation

BFL::DiscretePdf::DiscretePdf ( unsigned int  num_states = 0)

Constructor (dimension = number of classes) An equal probability is set for all classes.

Parameters:
num_statesnumber of different classes or states

Copy Constructor.

virtual BFL::DiscretePdf::~DiscretePdf ( ) [virtual]

Destructor.


Member Function Documentation

virtual DiscretePdf* BFL::DiscretePdf::Clone ( ) const [virtual]

Clone function.

Implements BFL::BFL::Pdf< int >.

bool BFL::DiscretePdf::CumPDFUpdate ( ) [protected]

Updates the cumPDF.

Get the index of the most probable state.

bool BFL::DiscretePdf::NormalizeProbs ( ) [protected]

Normalize all the probabilities (eg. after setting a probability)

unsigned int BFL::DiscretePdf::NumStatesGet ( ) const

Get the number of discrete States.

Get all probabilities.

bool BFL::DiscretePdf::ProbabilitiesSet ( vector< Probability > &  values)

Set all probabilities.

Parameters:
valuesvector<Probability> containing the new probability values. The sum of the probabilities of this list is not required to be one since the normalization is automatically carried out.
Probability BFL::DiscretePdf::ProbabilityGet ( const int &  state) const [virtual]

Implementation of virtual base class method.

Reimplemented from BFL::BFL::Pdf< int >.

bool BFL::DiscretePdf::ProbabilitySet ( int  state,
Probability  a 
)

Function to change/set the probability of a single state.

Changes the probabilities such that AFTER normalization the probability of the state "state" is equal to the probability a

Parameters:
statenumber of state of which the probability will be set
aprobability value to which the probability of state "state" will be set (must be <= 1)
bool BFL::DiscretePdf::SampleFrom ( vector< Sample< int > > &  list_samples,
const unsigned int  num_samples,
int  method = DEFAULT,
void *  args = NULL 
) const
bool BFL::DiscretePdf::SampleFrom ( Sample< int > &  one_sample,
int  method = DEFAULT,
void *  args = NULL 
) const [virtual]

Draw 1 sample from the Pdf:

There's no need to create a list for only 1 sample!

Parameters:
one_samplesample that will contain result of sampling
methodSampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1
argsPointer to a struct representing extra sample arguments
See also:
SampleFrom()
Bug:
Sometimes the compiler doesn't know which method to choose!

Reimplemented from BFL::BFL::Pdf< int >.


Member Data Documentation

vector<double> BFL::DiscretePdf::_CumPDF [protected]

STL-vector containing the Cumulative PDF (for efficient sampling)

Definition at line 47 of file discretepdf.h.

unsigned int BFL::DiscretePdf::_num_states [protected]

The number of discrete state.

Definition at line 38 of file discretepdf.h.

Pointer to the discrete PDF-values, the sum of the elements = 1.

Definition at line 41 of file discretepdf.h.


The documentation for this class was generated from the following file:


bfl
Author(s): Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
autogenerated on Thu Feb 11 2016 22:31:57