BFL::DiscretePdf Class Reference

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

`#include <discretepdf.h>`

Inheritance diagram for BFL::DiscretePdf:

## Public Member Functions | |

virtual DiscretePdf * | Clone () 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< Probability > | ProbabilitiesGet () 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. |

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.

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

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

**Parameters:**-
num_states number of different classes or states

BFL::DiscretePdf::DiscretePdf | ( | const DiscretePdf & | ) |

Copy Constructor.

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

Destructor.

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.

vector<Probability> BFL::DiscretePdf::ProbabilitiesGet | ( | ) | const |

Get all probabilities.

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

Set all probabilities.

**Parameters:**-
values vector<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:**-
state number of state of which the probability will be set a probability 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_sample sample that will contain result of sampling method Sampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1 args Pointer 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 >.

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.

vector<Probability>* BFL::DiscretePdf::_Values_p` [protected]` |

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 Mon Feb 11 2019 03:45:12

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 Mon Feb 11 2019 03:45:12