## Term definitions

• Random-number generator: A function that generates numbers that are uniformly distributed over the interval (0,1).
• Random-variate generator: A function that generates numbers whose probability distribution is different from that of the uniform on the interval (0,1).

## Random-variate generators

Below is a brief summary of the random-number generators that are available. Click on a function name to see a more detailed explanation.

• `bernoulli(p:real) : int`, raises `Bernoulli` exception, if `p<0.0` or `p>1.0`.
• `beta(a:real, b:real) : real` , raises `Beta` exception, if `a<=0.0` or `b<=0.0`.
• `binomial(n:int, p:real) : int`, raises `Binomial` exception, if `n<1` or `p<0.0` or `p>1.0`.
• `chisq(n:int) : real` , raises `Chisq` exception, if `n<1`.
• `discrete(a:int, b:int) : int`, raises `Discrete` exception, if `a>b`.
• `erlang(n:int, r:real) : real`, raises `Erlang` exception, if `n<1` or `r<=0.0`.
• `exponential(r:real) : real` , raises `Exponential` exception, if `r<=0.0`.
• `gamma(l:real, k:real) : real`, raises `Gamma` exception, if `k<=0.0` or `l<=0.0`.
• `normal(n:real, v:real) : real`, raises `Normal` exception, if `v<0.0`.
• `poisson(m:real) : int` , raises `Poisson` exception, if `m<=0.0`.
• `rayleigh(s:real) : real`, raises `Rayleigh` exception, if `s<0.0`.
• `student(n:int) : real`, raises `Student` exception, if `n<1`.
• `uniform(a:real, b:real) : real`, raises `Uniform` exception, if `a>b`.
• `weibull(lambda:real, k:real) : real`, raises `Weibull` exception, if `lambda<=0` or `k<=0`.