41 #ifndef BPP_NUMERIC_PROB_TRUNCATEDEXPONENTIALDISCRETEDISTRIBUTION_H
42 #define BPP_NUMERIC_PROB_TRUNCATEDEXPONENTIALDISCRETEDISTRIBUTION_H
45 #include "../Constraints.h"
46 #include "../Random/RandomTools.h"
110 std::string
getName()
const {
return "TruncExponential";}
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'.
The constraint interface.
The parameter list object.
Discretized Truncated (on the right) Exponential distribution, where the probabilities are given the ...
double Expectation(double a) const
Return a primitive function used for the expectation of the continuous version of the distribution,...
TruncatedExponentialDiscreteDistribution(const TruncatedExponentialDiscreteDistribution &dist)
std::string getName() const
Get the name of the distribution.
double pProb(double x) const
Return the cumulative quantile of the continuous version of the distribution, ie .
~TruncatedExponentialDiscreteDistribution()
TruncatedExponentialDiscreteDistribution(size_t n, double lambda=1., double truncationPoint=10)
Build a new truncated exponential discrete distribution.
TruncatedExponentialDiscreteDistribution * 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.
void restrictToConstraint(const Constraint &c)
Restricts the distribution to the domain where the constraint is respected, in addition of other pred...
double qProb(double x) const
Return the quantile of the continuous version of the distribution, ie y such that .
TruncatedExponentialDiscreteDistribution & operator=(const TruncatedExponentialDiscreteDistribution &dist)
double randC() const
Draw a random number from the continuous version of this distribution, if it exists.