The distribution function of a random variable
X distributed according to the Laplace distribution is a continuous function,
F(x) = P(X < x), given by
F(x) = 
e^{ x} / 2  for ∞ < x < 0 
1  e^{ x} / 2  for 0 < x < ∞ 


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


 double Laplace_Distribution( double x )
This function returns F(x) where F(x) is described above.
 double Laplace_Density( double x )
This function returns f(x) where f(x) is described above.
 void Laplace_Distribution_Tables( 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: