11 #ifndef __OMNETPP_DISTRIB_H    12 #define __OMNETPP_DISTRIB_H    14 #include "simkerneldefs.h"    24 inline unsigned long intrand(cRNG *rng, 
long r)  {
return rng->intRand(r);}
    29 inline double dblrand(cRNG *rng)  {
return rng->doubleRand();}
    44 SIM_API 
double uniform(cRNG *rng, 
double a, 
double b);
    73 SIM_API 
double normal(
cRNG *rng, 
double mean, 
double stddev);
   138 SIM_API 
double gamma_d(
cRNG *rng, 
double alpha, 
double theta);
   152 SIM_API 
double beta(
cRNG *rng, 
double alpha1, 
double alpha2);
   172 SIM_API 
double erlang_k(
cRNG *rng, 
unsigned int k, 
double mean);
   220 SIM_API 
double cauchy(
cRNG *rng, 
double a, 
double b);
   231 SIM_API 
double triang(
cRNG *rng, 
double a, 
double b, 
double c);
   246     return exp(
normal(rng, m, w));
   268 SIM_API 
double weibull(
cRNG *rng, 
double a, 
double b);
   311     return (p > U) ? 1 : 0;
 SIM_API double triang(cRNG *rng, double a, double b, double c)
Returns a random variate from the triangular distribution with parameters a <= b <= c...
 
SIM_API double cauchy(cRNG *rng, double a, double b)
Returns a random variate from the Cauchy distribution (also called Lorentzian distribution) with para...
 
int64_t-based, base-10 fixed-point simulation time. 
Definition: simtime.h:66
 
SIM_API double pareto_shifted(cRNG *rng, double a, double b, double c)
Returns a random variate from the shifted generalized Pareto distribution. 
 
SIM_API int binomial(cRNG *rng, int n, double p)
Returns a random integer from the binomial distribution with parameters n and p, that is...
 
SIM_API double student_t(cRNG *rng, unsigned int i)
Returns a random variate from the student-t distribution with i degrees of freedom. If Y1 has a normal distribution and Y2 has a chi-square distribution with k degrees of freedom then X = Y1 / sqrt(Y2/k) has a student-t distribution with k degrees of freedom. 
 
SIM_API double chi_square(cRNG *rng, unsigned int k)
Returns a random variate from the chi-square distribution with k degrees of freedom. 
 
Abstract interface for random number generator classes. 
Definition: crng.h:49
 
SIM_API int intuniform(cRNG *rng, int a, int b)
Returns a random integer with uniform distribution in the range [a,b], inclusive. (Note that the func...
 
SIM_API int geometric(cRNG *rng, double p)
Returns a random integer from the geometric distribution with parameter p, that is, the number of independent trials with probability p until the first success. 
 
SIM_API int negbinomial(cRNG *rng, int n, double p)
Returns a random integer from the negative binomial distribution with parameters n and p...
 
SIM_API int poisson(cRNG *rng, double lambda)
Returns a random integer from the Poisson distribution with parameter lambda, that is...
 
SIM_API double beta(cRNG *rng, double alpha1, double alpha2)
Returns a random variate from the beta distribution with parameters alpha1, alpha2. 
 
int bernoulli(cRNG *rng, double p)
Returns the result of a Bernoulli trial with probability p, that is, 1 with probability p and 0 with ...
Definition: distrib.h:308
 
SIM_API double weibull(cRNG *rng, double a, double b)
Returns a random variate from the Weibull distribution with parameters a, b > 0, where a is the "scal...
 
SimTime truncnormal(cRNG *rng, SimTime mean, SimTime stddev)
SimTime version of truncnormal(cRNG*,double,double), for convenience. 
Definition: distrib.h:101
 
SIM_API double gamma_d(cRNG *rng, double alpha, double theta)
Returns a random variate from the gamma distribution with parameters alpha>0, theta>0. Alpha is known as the "shape" parameter, and theta as the "scale" parameter. 
 
virtual double doubleRand()=0
 
double dbl() const 
Definition: simtime.h:301
 
double lognormal(cRNG *rng, double m, double w)
Returns a random variate from the lognormal distribution with "scale" parameter m and "shape" paramet...
Definition: distrib.h:244
 
Definition: cabstracthistogram.h:21
 
SIM_API double erlang_k(cRNG *rng, unsigned int k, double mean)
Returns a random variate from the Erlang distribution with k phases and mean mean. 
 
SimTime uniform(cRNG *rng, SimTime a, SimTime b)
SimTime version of uniform(cRNG*,double,double), for convenience. 
Definition: distrib.h:49
 
SimTime exponential(cRNG *rng, SimTime mean)
SimTime version of exponential(cRNG*,double), for convenience. 
Definition: distrib.h:63
 
SimTime normal(cRNG *rng, SimTime mean, SimTime stddev)
SimTime version of normal(cRNG*,double,double), for convenience. 
Definition: distrib.h:78