62#ifndef LASS_GUARDIAN_OF_INCLUSION_NUM_DISTRIBUTION_H
63#define LASS_GUARDIAN_OF_INCLUSION_NUM_DISTRIBUTION_H
94template <
typename T,
class RandomGenerator, RangeType rangeType = rtClosed>
96 [[deprecated(
"DistributionUniform is deprecated, use std::uniform_real_distribution instead")]]
104 typedef typename util::CallTraits<T>::TValue
TValue;
105 typedef typename util::CallTraits<T>::TParam
TParam;
109 TParam infimum = TNumTraits::zero,
TParam supremum = TNumTraits::one);
111 TValue operator()()
const;
121template <
typename T,
typename RandomGenerator>
122[[deprecated(
"distributeUniform is deprecated, use std::uniform_real_distribution instead")]]
123T distributeUniform(RandomGenerator& generator, T min = T(0), T max = T(1));
136template <
typename T,
class RandomGenerator>
138 [[deprecated(
"DistributionExponential is deprecated, use std::exponential_distribution instead")]]
146 typedef typename util::CallTraits<T>::TValue
TValue;
147 typedef typename util::CallTraits<T>::TParam
TParam;
151 TParam rateOfChange = TNumTraits::one);
153 TValue operator()()
const;
161template <
typename T,
typename RandomGenerator>
162[[deprecated(
"distributeExponential is deprecated, use std::exponential_distribution instead")]]
163T distributeExponential(RandomGenerator& generator, T rateOfChange = T(1));
176template <
typename T,
class RandomGenerator>
178 [[deprecated(
"DistributionNormal is deprecated, use std::normal_distribution instead")]]
186 typedef typename util::CallTraits<T>::TValue
TValue;
187 typedef typename util::CallTraits<T>::TParam
TParam;
191 TParam mean = TNumTraits::zero,
TParam standardDeviation = TNumTraits::one);
193 TValue operator()()
const;
199 TValue standardDeviation_;
204template <
typename T,
typename RandomGenerator>
205[[deprecated(
"distributeExponential is deprecated, use std::normal_distribution instead")]]
206T distributeExponential(RandomGenerator& generator, T mean = T(0), T standardDeviation = T(1));
212template<
class T,
class RG>
213[[deprecated(
"uniform is deprecated, use std::uniform_real_distribution instead")]]
216template<
class T,
class RG>
217[[deprecated(
"gauss is deprecated, use std::normal_distribution instead")]]
220template<
class T,
class RG>
221[[deprecated(
"gauss is deprecated, use std::normal_distribution instead")]]
222T
gauss(RG& generator,
typename util::CallTraits<T>::TParam mean,
typename util::CallTraits<T>::TParam stddev);
util::CallTraits< T >::TParam TParam
parameter value type
RandomGenerator TGenerator
generator type
util::CallTraits< T >::TValue TValue
value type
DistributionExponential()
construct an empty distribution.
num::NumTraits< T > TNumTraits
numeric traits of value type
DistributionNormal()
construct an empty distribution.
util::CallTraits< T >::TValue TValue
value type
util::CallTraits< T >::TParam TParam
parameter value type
num::NumTraits< T > TNumTraits
numeric traits of value type
RandomGenerator TGenerator
generator type
RangeType
enumeration indicating how a real-number range must be closed.
T gauss(RG &generator, typename util::CallTraits< T >::TParam mean, typename util::CallTraits< T >::TParam stddev)
T unitGauss(RG &generator)
@ rtRightOpen
range is open to the right: [inf, sup)
@ rtClosed
range is closed on both sides: [inf, sup]
@ rtLeftOpen
range is open to the left: (inf, sup]
@ rtOpen
range is open to both sides: (inf, sup)
numeric types and traits.
Library for Assembled Shared Sources.