summaryrefslogtreecommitdiff
path: root/gsl-1.9/randist/ChangeLog
blob: fb727e8138a9a04b5da7de554bad9754664ad3dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
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.