52 const T
getValue (
const stdair::Probability_T& iCumulativeProbability)
const{
55 typename ContinuousInverseDistribution_T::const_iterator it =
56 _inverseCumulativeDistribution.lower_bound (lKey);
58 stdair::Probability_T cumulativeProbabilityNextPoint =
60 T valueNextPoint = it->second;
62 if (it == _inverseCumulativeDistribution.begin()) {
63 STDAIR_LOG_DEBUG (
"Last element");
64 return valueNextPoint;
68 stdair::Probability_T cumulativeProbabilityPreviousPoint =
70 T valuePreviousPoint = it->second;
71 if (cumulativeProbabilityNextPoint == cumulativeProbabilityPreviousPoint) {
72 return valuePreviousPoint;
75 return valuePreviousPoint + (valueNextPoint - valuePreviousPoint)
76 * (iCumulativeProbability - cumulativeProbabilityPreviousPoint)
77 / (cumulativeProbabilityNextPoint - cumulativeProbabilityPreviousPoint);
133 for (
typename ContinuousDistribution_T::iterator itCumulativeDistribution =
134 _cumulativeDistribution.begin();
135 itCumulativeDistribution != _cumulativeDistribution.end();
136 ++itCumulativeDistribution) {
137 _inverseCumulativeDistribution.
139 value_type (itCumulativeDistribution->second,
140 itCumulativeDistribution->first));