A container that supports probabilistic sampling over weighted data. More...
#include <PDF.h>
Classes | |
class | Element |
A class that will hold data contained in the PDF. More... | |
Public Member Functions | |
PDF (void) | |
Constructs an empty PDF. | |
PDF (const std::vector< _T > &d, const std::vector< double > &weights) | |
Constructs a PDF containing a given vector of data with given weights. | |
~PDF (void) | |
Destructor. Clears allocated memory. | |
const std::vector< Element * > & | getElements (void) |
Get the current set of stored elements. | |
Element * | add (const _T &d, const double w) |
Adds a piece of data with a given weight to the PDF. Returns a corresponding Element, which can be used to subsequently update or remove the data from the PDF. | |
_T & | sample (double r) const |
Returns a piece of data from the PDF according to the input sampling value, which must be between 0 and 1. | |
void | update (Element *elem, const double w) |
Updates the data in the given Element with a new weight value. | |
double | getWeight (const Element *elem) const |
Returns the current weight of the given Element. | |
void | remove (Element *elem) |
Removes the data in the given Element from the PDF. After calling this function, the Element object should no longer be used. | |
void | clear (void) |
Clears the PDF. | |
std::size_t | size (void) const |
Returns the number of elements in the PDF. | |
const _T & | operator[] (unsigned int i) const |
Returns indexed data from the PDF, according to order of insertion. | |
bool | empty (void) const |
Returns whether the PDF contains no data. | |
void | printTree (std::ostream &out=std::cout) const |
Prints the PDF tree to a given output stream. Used for debugging purposes. | |
A container that supports probabilistic sampling over weighted data.