Template Class PDF
Defined in File PDF.h
Nested Relationships
Nested Types
Class Documentation
-
template<typename _T>
class PDF A container that supports probabilistic sampling over weighted data.
Public Functions
-
inline PDF(const std::vector<_T> &d, const std::vector<double> &weights)
Constructs a PDF containing a given vector of data with given weights.
-
inline ~PDF()
Destructor. Clears allocated memory.
-
inline 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.
-
inline _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.
-
inline void update(Element *elem, const double w)
Updates the data in the given Element with a new weight value.
-
inline double getWeight(const Element *elem) const
Returns the current weight of the given Element.
-
inline 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.
-
inline PDF(const std::vector<_T> &d, const std::vector<double> &weights)