5 #ifndef BPP_NUMERIC_PROB_DIRICHLETDISCRETEDISTRIBUTION_H 6 #define BPP_NUMERIC_PROB_DIRICHLETDISCRETEDISTRIBUTION_H 9 #include "../../Exceptions.h" 10 #include "../../Io/OutputStream.h" 11 #include "../ParameterAliasable.h" 12 #include "../VectorTools.h" 72 std::vector<BetaDiscreteDistribution* >
vpBDD_;
94 std::string
getName()
const {
return "Dirichlet";}
142 #endif // BPP_NUMERIC_PROB_DIRICHLETDISCRETEDISTRIBUTION_H ~DirichletDiscreteDistribution()
Interface for multiple discrete distribution objects.
Vdouble rand() const
Draw a random vector from this distribution.
std::string getName() const
The parameter list object.
Vdouble getValueCategory(Vdouble &Vvalue) const
DirichletDiscreteDistribution * clone() const
Create a copy of this object and send a pointer to it.
VVdouble getCategories() const
A partial implementation of the Parametrizable interface.
std::vector< double > Vdouble
DirichletDiscreteDistribution(std::vector< size_t > vn, Vdouble valpha)
Build a new discretized Dirichlet distribution.
virtual double getProbability(Vdouble &category) const
void fireParameterChanged(const ParameterList ¶meters)
Notify the class when one or several parameters have changed.
Vdouble randC() const
Draw a random vector from the continuous version of this distribution.
std::vector< BetaDiscreteDistribution *> vpBDD_
std::vector< Vdouble > VVdouble
void discretize(Vdouble &valpha)
Discretized Dirichlet distribution. If the distribution is in n dimensions, the domain is the n-1 sim...
size_t getNumberOfCategories() const