41 #ifndef BPP_NUMERIC_PROB_EXPONENTIALDISCRETEDISTRIBUTION_H
42 #define BPP_NUMERIC_PROB_EXPONENTIALDISCRETEDISTRIBUTION_H
45 #include "../Constraints.h"
46 #include "../Random/RandomTools.h"
91 std::string
getName()
const {
return "Exponential";}
Partial implementation of the DiscreteDistribution interface.
AbstractDiscreteDistribution & operator=(const AbstractDiscreteDistribution &adde)
std::shared_ptr< IntervalConstraint > intMinMax_
the interval where the distribution is defined/restricted.
double getParameterValue(const std::string &name) const
Get the value for parameter of name 'name'.
Discretized Exponential distribution.
ExponentialDiscreteDistribution * clone() const
Create a copy of this object and send a pointer to it.
void fireParameterChanged(const ParameterList ¶meters)
Notify the class when one or several parameters have changed.
std::string getName() const
Get the name of the distribution.
double randC() const
Draw a random number from the continuous version of this distribution, if it exists.
double qProb(double x) const
Return the quantile of the continuous version of the distribution, ie y such that .
ExponentialDiscreteDistribution & operator=(const ExponentialDiscreteDistribution &dist)
double pProb(double x) const
Return the cumulative quantile of the continuous version of the distribution, ie .
ExponentialDiscreteDistribution(const ExponentialDiscreteDistribution &dist)
double Expectation(double a) const
Return a primitive function used for the expectation of the continuous version of the distribution,...
ExponentialDiscreteDistribution(size_t n, double lambda=1.)
Build a new discretized exponential distribution.
~ExponentialDiscreteDistribution()
The parameter list object.