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.
|