23#include "../wrappers/matrix/vector_wrapper.h"
24#include "../wrappers/matrix/matrix_wrapper.h"
83 const unsigned int num_samples,
84 const SampleMthd method = SampleMthd::DEFAULT,
85 void * args = NULL)
const;
86 bool SampleFrom (
Sample<int>& one_sample,
const SampleMthd method = SampleMthd::DEFAULT,
void * args = NULL)
const;
Class representing a PDF on a discrete variable.
unsigned int _num_states
The number of discrete state.
virtual ~DiscretePdf()
Destructor.
vector< double > _CumPDF
STL-vector containing the Cumulative PDF (for efficient sampling)
DiscretePdf(const DiscretePdf &)
Copy Constructor.
DiscretePdf(unsigned int num_states=0)
Constructor (dimension = number of classes) An equal probability is set for all classes.
unsigned int NumStatesGet() const
Get the number of discrete States.
vector< Probability > ProbabilitiesGet() const
Get all probabilities.
vector< Probability > * _Values_p
Pointer to the discrete PDF-values, the sum of the elements = 1.
Probability ProbabilityGet(const int &state) const
Implementation of virtual base class method.
bool SampleFrom(Sample< int > &one_sample, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
Draw 1 sample from the Pdf:
bool NormalizeProbs()
Normalize all the probabilities (eg. after setting a probability)
int MostProbableStateGet()
Get the index of the most probable state.
bool CumPDFUpdate()
Updates the cumPDF.
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, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
Draw multiple samples from the Pdf (overloaded)
virtual DiscretePdf * Clone() const
Clone function.
bool ProbabilitiesSet(vector< Probability > &values)
Set all probabilities.
Class PDF: Virtual Base class representing Probability Density Functions.
Class representing a probability (a double between 0 and 1)