The distribution function of a random variable
X distributed according to the Weibull distribution with shape parameter
a > 0 is a continuous function,
F(x) = P(X < x), given by
F(x) =  0  for x < 0  1  e^{ x a}  for 0 ≤ x 


The corresponding probability density function,
f(x) = dF(x)/dx, is
f(x) =  0  for x < 0  a x^{ a1} e^{ x a}  for 0 < x 


 double Weibull_Distribution( double x, double a )
This function returns F(x) where F(x) is described above.
 double Weibull_Density( double x, double a )
This function returns f(x) where f(x) is described above.
 void Weibull_Distribution_Tables( double a, 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: