2007-01-23  Brian Gough  <bjg@network-theory.co.uk>

	* betainv.c (gsl_cdf_beta_Pinv): avoid generating a NaN for lx > 0

2006-04-18  Brian Gough  <bjg@network-theory.co.uk>

	* betainv.c (gsl_cdf_beta_Qinv): fix prototype const

2006-03-07  Brian Gough  <bjg@network-theory.co.uk>

	* poisson.c: added poisson cdf

	* nbinomial.c: added negative binomial cdf

	* hypergeometric.c: added hypergeometric cdf

	* geometric.c: added geometric cdf

	* binomial.c (gsl_cdf_binomial_Q): added binomial cdf

	* test.c: added discrete function tests

	* gamma.c (gsl_cdf_gamma_P, gsl_cdf_gamma_Q): clean up unused
	code, ensure that branches make P+Q=1 always true

	* fdistinv.c (gsl_cdf_fdist_Pinv): use P instead of p for consistency

	* fdist.c (gsl_cdf_fdist_Q): use Q instead of P for consistency

	* beta.c (gsl_cdf_beta_Q): use Q instead of P for consistency

2006-02-27  Brian Gough  <bjg@network-theory.co.uk>

	* fdistinv.c (gsl_cdf_fdist_Pinv, gsl_cdf_fdist_Qinv): added
	inverse functions

	* betainv.c (gsl_cdf_beta_Pinv, gsl_cdf_beta_Qinv): added inverse
	functions

	* tdistinv.c (gsl_cdf_tdist_Qinv, gsl_cdf_tdist_Pinv): max 32
	iterations, prevent infinite loop

	* gammainv.c (gsl_cdf_gamma_Qinv, gsl_cdf_gamma_Pinv): max 32
	iterations, prevent infinite loop

2005-06-20  Brian Gough  <bjg@network-theory.co.uk>

	* test.c: removed tests using subnormal values, since they tend to
	fail when extended precision registers are not available.	

2004-10-26  Brian Gough  <bjg@network-theory.co.uk>

	* exppow.c: added exppow distribution

2004-10-01  Brian Gough  <bjg@network-theory.co.uk>

	* beta.c (gsl_cdf_beta_P, gsl_cdf_beta_P): return consistent
	results for out of range values.

2003-08-27  Brian Gough  <bjg@network-theory.co.uk>

	* gauss.c: use parentheses around constant macros to avoid -(-X)
	being interpreted as --X

2003-07-27  Brian Gough  <bjg@network-theory.co.uk>

	* gumbel1.c (gsl_cdf_gumbel1_Q): use pow in place of exp since
	compilers seem to handle overflow better in this case (perhaps
	because it is not an intrinsic function).

	* gumbel2.c (gsl_cdf_gumbel2_P): handle case of x = 0 explicitly
	(gsl_cdf_gumbel2_Q): handle case of x = 0 explicitly

2003-07-22  Brian Gough  <bjg@network-theory.co.uk>

	* gamma.c (gsl_cdf_gamma_P): Peizer and Pratt approximation for
	large a seems to be inaccurate in tails
	(gsl_cdf_gamma_Q): Peizer and Pratt approximation for large a
	seems to be inaccurate in tails

	* test.c (main): added test for large a for gamma

	* cauchyinv.c (gsl_cdf_cauchy_Qinv): corrected limiting value for
	Q=1

	* added Cumulative Distribution functions from savannah.gnu.org

