blob: fb727e8138a9a04b5da7de554bad9754664ad3dd [file] [log] [blame]
2007-02-20 Brian Gough <bjg@network-theory.co.uk>
* gamma.c (gsl_ran_gamma): avoid an unnecessary function call to
gsl_ran_gamma_mt, since that maps back to gsl_ran_gamma now
2007-02-14 Brian Gough <bjg@network-theory.co.uk>
* test.c (testPDF): reduce the test sensitivity to avoid failures
caused by weaknesses in the underlying rng
2007-01-26 Brian Gough <bjg@network-theory.co.uk>
* gamma.c (gsl_ran_gamma): the Marsaglia Tsang method is now the
default
(gsl_ran_gamma_knuth): new function name, preserving the original
gsl_ran_gamma
2006-08-30 Brian Gough <bjg@network-theory.co.uk>
* discrete.c (gsl_ran_discrete_preproc): use GSL_ENOMEM instead of
ENOMEM
2006-04-18 Brian Gough <bjg@network-theory.co.uk>
* gausszig.c (gsl_ran_gaussian_ziggurat): fix prototype const
2006-03-26 Brian Gough <bjg@network-theory.co.uk>
* multinomial.c (gsl_ran_multinomial_lnpdf): use gsl_sf_lnfact
instead of gsl_sf_lngamma for an integer argument
2006-03-17 Brian Gough <bjg@network-theory.co.uk>
* binomial_tpe.c (gsl_ran_binomial): cast return values to
unsigned
2006-02-27 Brian Gough <bjg@network-theory.co.uk>
* beta.c (gsl_ran_beta_pdf): work with logs avoid
underflow/overflow
2006-02-19 Brian Gough <bjg@network-theory.co.uk>
* gauss.c (gsl_ran_gaussian): reject case where x=-1 || y=-1
for true symmetry
(gsl_ran_gaussian_ratio_method): add Leva bounds
* exppow.c (gsl_ran_exppow): added faster rejection methods
2006-02-01 Brian Gough <bjg@network-theory.co.uk>
* gausszig.c: added ziggurat gaussian (Jochen Voss)
2006-01-20 Brian Gough <bjg@network-theory.co.uk>
* binomial.c (gsl_ran_binomial_pdf): handle the cases p=0 and p=1
(gsl_ran_binomial_pdf): use log1p to calculate more accurately
near k=0,p=0
2005-08-31 Brian Gough <bjg@network-theory.co.uk>
* test.c (main): free allocated memory before exit
2005-08-22 Brian Gough <bjg@network-theory.co.uk>
* binomial_tpe.c (gsl_ran_binomial): switch to the TPE algorithm
as the default
* binomial.c (gsl_ran_binomial_knuth): rename the original
binomial function to ..._knuth
2004-05-30 Brian Gough <bjg@network-theory.co.uk>
* landau.c (gsl_ran_landau): fix potential array bounds overflow
by extending array.
2004-04-22 Brian Gough <bjg@network-theory.co.uk>
* sphere.c (gsl_ran_dir_3d): removed unnecessary check for s==0.0
2003-07-25 Brian Gough <bjg@network-theory.co.uk>
* dirichlet.c: include gsl_sf_gamma.h instead of gsl_sf.h
2003-07-24 Brian Gough <bjg@network-theory.co.uk>
* binomial_tpe.c (gsl_ran_binomial_tpe): convert to double to
avoid possible signed/unsigned problems in comparison (ix > n)
(Stirling): removed spurious trailing ;
2003-05-14 Brian Gough <bjg@network-theory.co.uk>
* binomial_tpe.c: fast binomial algorithm using TPE method
* test.c: added the tests for the fast Binomial TPE routine
2003-02-09 Brian Gough <bjg@network-theory.co.uk>
* discrete.c (gsl_ran_discrete_preproc): fixed bug reported by
ahoward <ahoward@pollux.usc.edu>
2003-01-25 Brian Gough <brian.gough@network-theory.co.uk>
* chisq.c: corrected comments
2002-12-10 Brian Gough <bjg@network-theory.co.uk>
* multinomial.c (gsl_ran_multinomial): added multinomial
distribution
* dirichlet.c (gsl_ran_dirichlet_lnpdf): added logpdf function for
accuracy
Tue Aug 27 19:08:33 2002 Brian Gough <bjg@network-theory.co.uk>
* dirichlet.c: added dirichlet distribution
Sat Aug 18 22:21:07 2001 Brian Gough <bjg@network-theory.co.uk>
* gsl-randist.c: moved to top-level directory
Wed Jul 18 12:57:55 2001 Brian Gough <bjg@network-theory.co.uk>
* landau.c: added Landau distribution from Dave Morrison
Sat Jun 23 12:30:38 2001 Brian Gough <bjg@network-theory.co.uk>
* gausstail.c (gsl_ran_gaussian_tail): allow negative values for
the tail cutoff parameter.
Mon May 21 12:17:07 2001 Brian Gough <bjg@network-theory.co.uk>
* shuffle.c (gsl_ran_choose): removed void * return value
(gsl_ran_sample): removed void * return value
Tue Apr 24 17:10:47 2001 Brian Gough <bjg@network-theory.co.uk>
* bernoulli.c (gsl_ran_bernoulli_pdf): removed unnecessary
reference to gsl_sf.h
Mon Apr 23 10:25:44 2001 Brian Gough <bjg@network-theory.co.uk>
* changed calls to old specfunc _impl functions to use new error
handling conventions
Tue Apr 17 19:57:59 2001 Brian Gough <bjg@network-theory.co.uk>
* weibull.c (gsl_ran_weibull): changed parameter mu to a, since it
is not the mean
(gsl_ran_weibull_pdf): changed parameter mu to a, since it
is not the mean
* logistic.c (gsl_ran_logistic): changed parameter mu to a, since it
is not the mean
(gsl_ran_logistic_pdf): changed parameter mu to a, since it
is not the mean
* laplace.c (gsl_ran_laplace): changed parameter mu to a, since it
is not the mean
(gsl_ran_laplace_pdf): changed parameter mu to a, since it
is not the mean
* exppow.c (gsl_ran_exppow): changed parameter mu to a, since it
is not the mean
(gsl_ran_exppow_pdf): changed parameter mu to a, since it
is not the mean
* cauchy.c (gsl_ran_cauchy): changed parameter mu to a, since it
is not the mean
(gsl_ran_cauchy_pdf): changed parameter mu to a, since it
is not the mean
Tue Feb 20 11:14:00 2001 Brian Gough <bjg@network-theory.co.uk>
* levy.c: added the skew symmetric routine from Keith Briggs,
changed the definition of the original function to match and not
use mu as a scale parameter.
2000-10-17 Brian Gough <bjg@inweb.aethos.co.uk>
* shuffle.c (gsl_ran_shuffle): replaced calls of the form
N*gsl_rng_uniform(r) with the integer form gsl_rng_uniform(r, N)
Thu Sep 21 18:41:53 2000 Brian Gough <bjg@network-theory.co.uk>
* pareto.c (gsl_ran_pareto): made arguments and documentation
consistent
Wed May 10 14:55:43 2000 Brian Gough <bjg@network-theory.co.uk>
* gsl-randist.c (main): fixed bug for lognormal (it was calling
exppow) Tadhg O'Meara <tadhg@net-cs.ucd.ie>
* gsl-randist.c (main): print out all the dimensions for dir-nd,
not just the first
Tue Apr 25 20:45:14 2000 Brian Gough <bjg@network-theory.co.uk>
* shuffle.c (gsl_ran_sample): lifted the restriction that sampling
with replacement could only be done less than n times for n objects.
Tue Mar 14 21:31:46 2000 Brian Gough <bjg@network-theory.co.uk>
* logistic.c (gsl_ran_logistic_pdf): prevent overflow in
computation of pdf for x < 0
Thu Oct 7 12:55:40 1999 Brian Gough <bjg@network-theory.co.uk>
* discrete.c (gsl_ran_discrete_free): removed unreachable code
"return 0";
Fri Aug 6 16:02:08 1999 Brian Gough <bjg@network-theory.co.uk>
* sphere.c (gsl_ran_dir_nd): number of dimensions is now unsigned
(size_t)
* logarithmic.c (gsl_ran_logarithmic_pdf): removed warning about
passing arg 2 of `pow' as floating rather than integer due to
prototype
Sun Aug 1 20:29:43 1999 Brian Gough <bjg@network-theory.co.uk>
* discrete.c: converted to GSL_ERROR macros for error handling
Tue Jul 27 14:14:38 1999 Brian Gough <bjg@network-theory.co.uk>
* sphere.c (gsl_ran_dir_3d): use the Knop method only -- it is the
best.
(gsl_ran_dir_2d_trig_method): split out the trig method as an
alternative for those platforms where it is faster
* bigauss.c: split out the bivariate gaussian into its own source
file
1999-06-30 Mark Galassi <rosalia@lanl.gov>
* discrete.c: (thanks to Frederick W. Wheeler
<wheeler@cipr.rpi.edu>) changed the type stack_t to gsl_stack_t to
avoid a conflict on HPUX.
Sun Feb 28 20:41:18 1999 Brian Gough <bjg@netsci.freeserve.co.uk>
* gsl-randist.c (main): change cfree() to free(), which is
standard.
* discrete.c (gsl_ran_discrete_preproc): removed warning, pTotal
is now initialized to zero.
1999-01-31 James Theiler <jt@lanl.gov>
* gauss.c added a new function gsl_ran_ugaussian_tail() which
provides random numbers out on the tail of a gaussian. I also
added (but then #ifdef'd out) a second implementation of ordinary
gaussian numbers. This second implementation passes the tests
okay, but it is a touch slower on my home Pentium.
* gsl_randist.h added prototypes
* test.c added tests for new gaussian tail function; also altered
testMoment's ugaussian range (-1,1) value from .68 to a more
accurate value.
* ../doc/random.texi further updated
1999-01-30 James Theiler <jt@lanl.gov>
* discrete.c added implementation of Walker's algorithm for
rapidly choosing a random integer k where the k's are distributed
by a user-supplied array of probabilities P[k]. This includes
functions gsl_ran_discrete(), gsl_ran_discrete_preproc(),
gsl_ran_discrete_free(), and gsl_ran_discrete_pdf().
* gsl_randist.h added definition of structure gsl_ran_discrete_t,
also prototypes of new functions defined in discrete.c
* test.c added tests for gsl_ran_discrete(), also
* test.c made some essentially cosmetic changes:
1/ redefined FUNC and FUNC2 macros so now output looks like
"test gsl_ran_poisson" instead of "gsl_ran_test_poisson"
2/ changed names of toplevel tests, eg test_moments->testMoments,
test_pdf->testPDF, etc, to distinguish them from all the individual
functions test_poisson, test_binomial, etc.
hope that's ok.
* ../doc/random.texi updated to reflect the new discrete functions,
as well as the new implementations of the sphere.c routines.
1999-01-28 James Theiler <jt@lanl.gov>
* sphere.c modified gsl_ran_dir_3d, to speed it up about 2x
also modified gsl_ran_dir_2d, providing alternative algorithms
(#ifdef'd appropriately). which is faster is machine dependent.
also gsl_ran_dir_nd for n-dimensional direction, using
gaussian random variables, normalized to the unit sphere
also added ref's to Knuth and others describing the algorithms
* gsl_randist.h added gsl_ran_dir_nd() prototype
* gsl-randist.c added dir-nd option
Tue Dec 15 23:08:57 1998 Brian Gough <bjg@vvv.lanl.gov>
* updated all the functions depending on gsl_sf to use the new
special function interface, based on gsl_sf_result
Tue Nov 17 17:02:54 1998 Brian Gough <bjg@vvv.lanl.gov>
* added #include <config.h> to all top-level source files
1998-11-06 <bjg@ancho.lanl.gov>
* test.c: ensured that M_PI is available by #include <gsl_math.h>
Wed Sep 16 14:44:08 1998 Brian Gough <bjg@vvv.lanl.gov>
* rayleigh.c: added rayleigh tail distribution
Sat Sep 12 13:03:19 1998 Brian Gough <bjg@vvv.lanl.gov>
* rayleigh.c: added rayleigh distribution
Mon Aug 31 James Theiler <jt@lanl.gov>
* Makefile.am: added ../utils/libutils.a to some LDADD's
Mon Aug 17 14:31:55 1998 Brian Gough <bjg@vvv.lanl.gov>
* gsl_randist.h: renamed discrete probability distribution
parameters to use consistent k,n notation (k = sample, n = total,
e.g. p(k) = function(k,n) )
Wed Aug 12 14:02:31 1998 Brian Gough <bjg@vvv.lanl.gov>
* lognormal.c: added zeta and sigma (location and scale parameters)
* logarithmic.c (gsl_ran_logarithmic): added logarithmic distribution
Mon Aug 10 14:41:15 1998 Brian Gough <bjg@vvv.lanl.gov>
* gsl-randist.c: added random direction functions
* gamma.c: added the scale paramter for the gamma distribution
Thu Aug 6 12:19:59 1998 Brian Gough <bjg@vvv.lanl.gov>
* gauss.c (gsl_ran_bivariate_gaussian): added bivariate with
correlations.
* hyperg.c: renamed variables, fixed bug
Wed Aug 5 11:21:45 1998 Brian Gough <bjg@vvv.lanl.gov>
* gsl-dist.c: renamed gsl-dist.c to gsl-randist.c, for
consistency
Tue Aug 4 12:29:17 1998 Brian Gough <bjg@vvv.lanl.gov>
* gsl-dist.c: a program for generating samples from the
distributions
* levy.c (gsl_ran_levy): take care of special case, a=1
* logistic.c: allow scale parameter, mu
* weibull.c: allow scale parameter, mu
* pareto.c: allow scale parameter, mu
* exppow.c: handle the case a<1 using a transformation of the
gamma distribution.
* gamma.c (gsl_ran_gamma_int): removed the check for
GSL_LOGINIFINITY since underflow can't occur for 32-bit random
numbers in double precision.
Mon Aug 3 13:09:39 1998 Brian Gough <bjg@vvv.lanl.gov>
* test.c: added tests for shuffle and choose
* pascal.c: added the Pascal distribution
* hyperg.c: added the hypergeometric distribution
Fri Jul 31 12:52:12 1998 Brian Gough <bjg@vvv.lanl.gov>
* gsl_randist.h: renamed gsl_ran_two_sided_exponential to
gsl_ran_laplace
1998-07-26 Mark Galassi <rosalia@cygnus.com>
* Makefile.am (INCLUDES): added -I$(top_srcdir), since gsl_math.h
is needed, and that is in the top level source directory. This is
necessary for using a separate build directory.
Tue Jul 14 12:39:30 1998 Brian Gough <bjg@vvv.lanl.gov>
* nbinomial.c: added Negative Binomial distribution
* bernoulli.c: added Bernoulli distribution
* poisson.c (gsl_ran_poisson): fixed a serious bug in the unrolled
recursion which led to an incorrect result being returned for the
large t case. This shows the importance of tests that cover all
possible branches!!!
* erlang.c (gsl_ran_erlang_pdf): renamed mu to a for consistency
Thu Jul 2 15:47:05 1998 Brian Gough <bjg@vvv.lanl.gov>
* added some extra distributions, lognormal.c gaussian.c
logistic.c pareto.c geometric.c erlang.c chisq.c weibull.c,
although they aren't finished yet
Wed Jul 1 11:56:06 1998 Brian Gough <bjg@vvv.lanl.gov>
* replace do { u = gsl_rng_uniform(r) } while (u == 0) by a direct
call to gsl_rng_uniform_pos.
Sun Jun 28 14:21:13 1998 Brian Gough <bjg@vvv.lanl.gov>
* converted everything to work with rng style generators
Sun Apr 19 19:06:59 1998 Brian Gough <bjg@vvv.lanl.gov>
* made the 'gsl-dist' programs just output a single column of
their random numbers (previously some of the programs printed both
the uniform variate and the transformed number)
* got rid of the 'bench-' programs. We will have a full testing
suite soon.
* renamed the installed programs from 'dist' to 'gsl-dist' so that
they don't overwrite anything, e.g. it's possible the user might
have other programs called 'gauss' or 'gamma' installed in
/usr/local
Sat Mar 21 16:09:16 1998 Brian Gough <bjg@vvv.lanl.gov>
* laplace.c (gsl_ran_laplace): added a Laplace distribution
(two-sided exponential)
* lorentz.c (gsl_ran_lorentzian): added a Lorentz distribution
1998-01-30 Mark Galassi <rosalia@cygnus.com>
* Makefile.am (lib_LIBRARIES): now it creates libgslrandist.a so
that we have gaussian and poisson distributions.