1 #ifndef RAND_RandomNumberDistribution_H
2 #define RAND_RandomNumberDistribution_H
5 #include "RAND_Object.h"
8 #include "RAND_RandomNumberGenerator.h"
16 template<
typename T,
class I,
class D>
90 mem+=(mDistribution==
null)?0:
sizeof(*mDistribution);
96 inline void freeDistribution() {
97 if (mDistribution!=NULL)
delete mDistribution;
105 mDistribution=
new I(dist);
115 template<
typename T1,
class G,
class D1>
125 return *mDistribution;
131 mDistribution->min();
136 mDistribution->max();
143 inline tReal
pdf(
const T& x)
const {
144 return static_cast<const D*
>(
this)->
pdf(x);
149 inline tReal
cdf(
const T& x)
const {
150 return static_cast<const D*
>(
this)->
cdf(x);
155 inline tReal
icdf(
const T& y)
const {
156 return static_cast<const D*
>(
this)->
icdf(y);
This class is the base class of all the parser package.
Definition: RAND_Object.h:24
virtual tMemSize getContentsMemorySize() const override
return nthe memory size of the included associations
Definition: RAND_Object.h:69
This class generates a distribution implemented in class G with internal implementation class I with ...
Definition: RAND_RandomNumberDistribution.h:17
T maxValue() const
return the max value
Definition: RAND_RandomNumberDistribution.h:135
tReal cdf(const T &x) const
return the cumulative density function
Definition: RAND_RandomNumberDistribution.h:149
virtual tMemSize getContentsMemorySize() const
return nthe memory size of the included associations
Definition: RAND_RandomNumberDistribution.h:88
T minValue() const
return the min value
Definition: RAND_RandomNumberDistribution.h:130
void initialize(I &dist)
initiliaze generator
Definition: RAND_RandomNumberDistribution.h:103
T random(RAND_RandomNumberGenerator< T1, G, D1 > &generator)
random a number
Definition: RAND_RandomNumberDistribution.h:116
virtual ~RAND_RandomNumberDistribution(void)
destroy
Definition: RAND_RandomNumberDistribution.h:53
RAND_RandomNumberDistribution(void)
create
Definition: RAND_RandomNumberDistribution.h:42
tReal icdf(const T &y) const
return the inverse of the cumulative density function
Definition: RAND_RandomNumberDistribution.h:155
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: RAND_RandomNumberDistribution.h:76
tReal pdf(const T &x) const
return the probility density function
Definition: RAND_RandomNumberDistribution.h:143
I & getDistribution()
get distribution
Definition: RAND_RandomNumberDistribution.h:124
This class generates a random number of type T generator with internal implemented class I implemente...
Definition: RAND_RandomNumberGenerator.h:14
I & getGenerator()
get the internal random nulber generator
Definition: RAND_RandomNumberGenerator.h:140