41 #ifndef BPP_NUMERIC_PROB_MULTIPLEDISCRETEDISTRIBUTION_H
42 #define BPP_NUMERIC_PROB_MULTIPLEDISCRETEDISTRIBUTION_H
45 #include "../../Exceptions.h"
46 #include "../../Io/OutputStream.h"
47 #include "../ParameterAliasable.h"
48 #include "../VectorTools.h"
Interface for multiple discrete distribution objects.
virtual Vdouble randC() const =0
Draw a random vector from the continuous version of this distribution, if it exists.
virtual size_t getNumberOfCategories() const =0
virtual Vdouble getValueCategory(Vdouble &Vvalue) const =0
virtual ~MultipleDiscreteDistribution()
MultipleDiscreteDistribution()
MultipleDiscreteDistribution * clone() const =0
Create a copy of this object and send a pointer to it.
virtual double getProbability(Vdouble &category) const =0
virtual Vdouble rand() const =0
Draw a random vector from this distribution.
Extend the Parametrizable interface with support for parameter aliases.
std::vector< double > Vdouble