The distribution function of a random variable
X distributed according to the gamma distribution with shape parameter
ν > 0 is a continuous function,
F(x) = P(X < x), given by
F(x) =  0  for x < 0  [ 1 / Γ(ν) ] ∫_{0}^{x} t^{ (ν  1)}e^{ t} dt  for 0 ≤ x 


where
Γ( ) is the gamma function.
The corresponding probability density function,
f(x) = dF(x)/dx, is
f(x) =  0  for x < 0  [ 1 / Γ(ν) ] x^{ (ν  1)}e^{ x}  for 0 ≤ x 


 double Gamma_Distribution( double x, double nu )
This function returns F(x) where F(x) is described above.
 double Gamma_Density( double x, double nu )
This function returns f(x) where f(x) is described above.
 void Gamma_Distribution_Tables( double nu, double start, double delta,int nsteps, double *density, double* distribution_function )
This function returns f(x) where f(x) is described above in the array density, i.e. density[i] = f(x_{i}) where x_{i} = start + i delta, i = 0,...,nsteps and returns F(x) where F(x) is described above in the array distribution_function, i.e. distribution_function[i] = F(x_{i}) where x_{i} = start + i delta, i = 0,...,nsteps. Note that density must be declared double density[N] where N ≥ nsteps + 1 in the calling routine and similarly the distribution_function must be declared double distribution_function[N] where
N ≥ nsteps + 1 in the calling routine.
C source code is available for these routines: