Added MACS source
[htsworkflow.git] / htswanalysis / MACS / lib / gsl / gsl-1.11 / rng / ChangeLog
1 2007-01-28  Brian Gough  <bjg@network-theory.co.uk>
2
3         * knuthran2002.c: added revised version from 9th printing
4
5 2007-01-04  Brian Gough  <bjg@network-theory.co.uk>
6
7         * default.c (gsl_rng_env_setup): send newline to stderr not stdout
8
9 2006-04-13  Brian Gough  <bjg@network-theory.co.uk>
10
11         * default.c (gsl_rng_env_setup): print a newline after list of
12         generators in error message
13
14 2006-03-16  Brian Gough  <bjg@network-theory.co.uk>
15
16         * test.c (main): added taus2 test
17
18 2006-02-19  Brian Gough  <bjg@network-theory.co.uk>
19
20         * rng.c: added note about why range=max-min not max-min+1
21
22 2005-12-16  Brian Gough  <bjg@network-theory.co.uk>
23
24         * rng.c (gsl_rng_uniform_int): catch the case n = 0 and return an
25         error
26
27 2003-07-23  Brian Gough  <bjg@network-theory.co.uk>
28
29         * file.c: added fwrite/fread functions
30
31 2003-06-12  Brian Gough  <bjg@network-theory.co.uk>
32
33         * Makefile.am: removed benchmark programs from default build
34
35 2003-06-02  Brian Gough  <bjg@network-theory.co.uk>
36
37         * waterman14.c: increased RAND_MIN to 1
38
39         * lecuyer21.c: corrections to RAND_MIN, RAND_MAX, floating point
40         denominator and seeding modulus
41
42         * fishman20.c (ran_get): use schrage multiplication to avoid
43         overflow
44
45         * coveyou.c: corrected value of RAND_MIN to 1 and RAND_MAX to 2^32-1
46
47         * borosh13.c: increased RAND_MIN to 1
48
49         * knuthran2.c (ran_get): use schrage multiplication to avoid
50         overflow in intermediate results
51
52         * fishman2x.c (ran_get): use schrage multiplication to avoid
53         overflow in intermediate results
54
55         * fishman18.c (ran_get): use schrage multiplication to avoid
56         overflow in intermediate results
57
58         * schrage.c (schrage): utility functions for multiplication of
59         long integers
60
61         * test.c (main): updated incorrect test values for
62         gsl_rng_fishman18 gsl_rng_fishman2x gsl_rng_knuthran2
63
64 Mon Nov 25 19:27:10 2002  Brian Gough  <bjg@network-theory.co.uk>
65
66         * taus.c (taus2_set): fixed bug in seeding for s3 (test should be
67         for s3<16, not s3<8)
68
69 Sun Nov  3 14:40:43 2002  Brian Gough  <bjg@network-theory.co.uk>
70
71         * taus.c (taus2_set): fixed bug in seeding for s2 < 8
72
73 Mon Jun 17 21:04:10 2002  Brian Gough  <bjg@network-theory.co.uk>
74
75         * mt.c (mt_set): ensure state counter mti is initialised by
76         seeding routine
77
78 Wed May 29 21:52:11 2002  Brian Gough  <bjg@network-theory.co.uk>
79
80         * randu.c: removed unused variable m
81
82 Tue May  7 22:34:52 2002  Brian Gough  <bjg@network-theory.co.uk>
83
84         * mt.c (mt_1999_set): updated seeding procedure according to new
85         release of MT19937 from the original authors.
86
87 Fri Apr 26 21:17:05 2002  Brian Gough  <bjg@network-theory.co.uk>
88
89         * taus.c (taus2_set): added alternate seeding procedure as
90         described in erratum to P.L'Ecuyer's paper.
91
92 Wed Apr 17 19:37:49 2002  Brian Gough  <bjg@network-theory.co.uk>
93
94         * test.c (main): added missing test for gsl_rng_mt19937_1998
95
96         * gsl_rng.h: added missing declaration for gsl_rng_mt19937_1998
97
98 Sun Dec  2 15:45:24 2001  Brian Gough  <bjg@network-theory.co.uk>
99
100         * Added new generators borosh13, coveyou, fishman18, fishman20,
101         fishman2x, knuthran, knuthran2, lecuyer21, waterman14 from Knuth's
102         Seminumerical Algorithms 3rd Ed.  Implemented by Carlo Perassi.
103
104         * gfsr4.c (gfsr4_get_double): increased divisor for double to
105         2^32, avoids generating exact result of 1.0 as specified in the
106         documentation
107
108 Mon Sep  3 10:32:01 2001  Brian Gough  <bjg@network-theory.co.uk>
109
110         * mt.c (mt_1998_set): renamed macro to avoid duplicate definition
111
112 Fri Aug 31 17:49:37 2001  Brian Gough  <bjg@network-theory.co.uk>
113
114         * mt.c (mt_1998_set): added the original (buggy) MT19937 seeding
115         routine as mt19937_1998 for compatibility.
116
117 Wed May  2 15:35:38 2001  Brian Gough  <bjg@network-theory.co.uk>
118
119         * ran1.c (ran1_get_double): use float constants for comparison
120         for compatibility with original Numerical Recipes routines
121
122         * ran2.c (ran2_get_double): ditto
123         
124 Fri Apr 27 18:47:07 2001  Brian Gough  <bjg@network-theory.co.uk>
125
126         * types.c (gsl_rng_types_setup): added void to make prototype
127         valid in ansi c
128
129 Mon Apr 16 20:03:07 2001  Brian Gough  <bjg@network-theory.co.uk>
130
131         * default.c (gsl_rng_env_setup): removed spurious argument to
132         fprintf
133
134 Tue Jan 23 13:24:26 2001  Brian Gough  <bjg@network-theory.co.uk>
135
136         * types.c (gsl_rng_types_setup): provide a function that returns a
137         list of all the generator types
138
139         * default.c (gsl_rng_env_setup): get the list of generators from a
140         function rather than having a list in the code itself.  Display a
141         list of the valid generators if the user provides an incorrect one.
142
143 Fri Dec  8 20:30:58 2000  Brian Gough  <bjg@network-theory.co.uk>
144
145         * ranlxs.c: renamed internal function ranlxs_set_impl to
146         ranlxs_set
147         
148         * ranlxd.c: renamed internal function ranlxd_set_impl to
149         ranlxd_set
150
151         * ranlux.c: renamed internal function ranlux_set_impl to
152         ranlux_set
153
154         * random.c: renamed internal function random_get_impl function to
155         random_get
156
157 Sat Jul 29 14:29:54 2000  Brian Gough  <bjg@network-theory.co.uk>
158
159         * test.c (main): updated test value for MT19937 for new seeding
160         procedure
161
162         * mt.c: The seeding procedure has been updated to match the 10/99
163         release of MT19937.
164
165 Wed Mar  8 16:04:34 2000  Brian Gough  <bjg@network-theory.co.uk>
166
167         * rng.c (gsl_rng_memcpy): generators must now be of the same type
168         for a copy from one to the other to work.
169
170 Thu Feb 24 16:41:48 2000  Brian Gough  <bjg@network-theory.co.uk>
171
172         * ran3.c (ran3_set): initialize unused zeroth element of state to
173         zero for consistency.
174
175 Mon Feb 14 13:28:26 2000  Brian Gough  <bjg@network-theory.co.uk>
176
177         * made all internal functions static
178
179 Mon Dec  6 16:21:05 1999  Brian Gough  <bjg@network-theory.co.uk>
180
181         * test.c (main): rewrote the tests to loop over all the generators
182
183 Wed Aug 11 20:57:10 1999  Brian Gough  <bjg@network-theory.co.uk>
184
185         * ranlxd.c, ranlxs.c: added ranlxd and ranlxs, second generation
186         RANLUX generators from Martin Luescher.
187
188 Mon Mar  1 21:12:28 1999  Brian Gough  <bjg@netsci.freeserve.co.uk>
189
190         * test.c (rng_parallel_state_test): added some extra tests to fill
191         a few holes in the net
192
193         * gsl_rng.h: moved static class information (max, min, etc) out of
194         the instance data. Originally I avoided this because of the
195         overhead of the extra indirection (r->type->get vs r->get) for
196         every get function call, but that turns out to be only about 10%
197         at worst so it's worth the slight speed cost to make the code
198         safer.
199
200 Tue Nov 17 17:09:31 1998  Brian Gough  <bjg@vvv.lanl.gov>
201
202         * gfsr4.c: added #include <config.h> which was missing
203
204 1998-11-04    <bjg@ancho.lanl.gov>
205
206         * ranf.c: fix portability problems on alpha, by ensuring that
207         shorts are correctly promoted to longs at the appropriate points
208
209         * rand48.c: fix portability problems by ensuring that shorts are
210         correctly promoted to longs at the appropriate points
211
212         * rng-dump.c (main): write out file correctly by using chars
213         instead of unsigned long ints, since these can vary in size on
214         different architectures
215
216 Wed Oct 28 15:02:22 1998  Brian Gough  <bjg@vvv.lanl.gov>
217
218         * rng.c: added #include <string.h> to get prototype for memcpy
219
220 Mon Sep 14 20:53:09 1998  Brian Gough  <bjg@vvv.lanl.gov>
221
222         * default.c (gsl_rng_env_setup): added gfsr4
223
224 1998-09-10  James Theiler  <jt@lanl.gov>
225
226         * gfsr4.c: added new random number generator
227
228         * Makefile.am: added gfsr4.c to SOURCES list
229
230         * gsl_rng.h: added gfsr4
231
232         * test.c: added gfsr4
233
234         * benchmark.c: added gfsr4
235
236 Mon Aug 10 22:12:13 1998  Brian Gough  <bjg@vvv.lanl.gov>
237
238         * rng-dump.c: program to write out 3 million random numbers,
239         suitable for testing with DIEHARD.
240
241 Tue Aug  4 19:51:57 1998  Brian Gough  <bjg@vvv.lanl.gov>
242
243         * default.c (gsl_rng_env_setup): send default/enviroment output to
244         stderr
245
246 Mon Aug  3 18:25:52 1998  Brian Gough  <bjg@vvv.lanl.gov>
247
248         * mt.c: made constants static since they shouldn't be exported,
249         added some speed improvements from Cokus' code (not all of them
250         since they seemed to use more registers than available on the
251         pentium).
252
253 Thu Jul  9 13:56:20 1998  Brian Gough  <bjg@vvv.lanl.gov>
254
255         * slatec.c: renamed cmlib.c to slatec.c
256
257         * transputer.c: renamed tds.c to transputer.c so the name is a bit
258         more obvious
259
260         * random.c: renamed random0 functions to random8, since obviously
261         we can't have 0 bytes of state
262         
263         * default.c (gsl_rng_env_setup): made gsl_rng_mt19937 the default
264         generator
265
266 Wed Jul  8 17:06:54 1998  Brian Gough  <bjg@vvv.lanl.gov>
267
268         * added random() functions. There are three(!) versions: the
269         original BSD, linux libc5 (had a typo in the multiplier, but got
270         installed on millions of machines so is now a defacto standard)
271         and GNU glibc2 (fixes the typo and has an improved seeding
272         procedure)
273
274 Sun Jul  5 15:59:29 1998  Brian Gough  <bjg@vvv.lanl.gov>
275
276         * rand.c: renamed rand.c to cmlib.c and bsdrand.c to rand.c.
277
278         * ranf.c: added CRAY RANF, 48 bit generator
279
280         * rand48.c: added the standard unix rand48()
281
282         * changed all the routines to allow an additional callback for
283         returning doubles. Now we can implement numerical recipes with its
284         non-standard checks on the floating point results and also access
285         the full state for getting 48-bit doubles out of rand48.
286         
287 Sat Jul  4 11:14:49 1998  Brian Gough  <bjg@vvv.lanl.gov>
288
289         * ranmar.c: added the RANMAR generator
290
291         * tds.c: added the INMOS Transputer RNG
292
293         * test.c (rng_min_test): added a test for RAND_MIN, to make sure
294         none of the generators go below it. Statistically the test is not
295         much good since it's very unlikely that an off-by-one error would
296         show up unless we ran the test for > 4 billion numbers. However,
297         the test might detect a gross error like a typo in RAND_MIN or a
298         degeneracy 0,0,0,... for a multiplicative generator.
299
300         * uni.c: fixed RAND_MAX here too
301
302         * uni32.c: fixed RAND_MAX to m1-1, not m1 (since it's modulo m1 so
303         m1 can't occur, only m1-1)
304
305 Fri Jul  3 15:55:34 1998  Brian Gough  <bjg@vvv.lanl.gov>
306
307         * rng.c (gsl_rng_uniform_gt0_lt1): added a function which returns
308         numbers in the range (0,1), i.e. excluding 0.0 and 1.0
309
310         * renamed bad_randu.c to randu.c
311
312         * renamed bad_rand.c to bsdrand.c
313
314 Mon Jun 29 18:11:08 1998  Brian Gough  <bjg@vvv.lanl.gov>
315
316         * added implementations of the numerical recipes algorithms ran0,
317         ran1, ran2, ran3
318         
319 Sun Jun 28 11:51:48 1998  Brian Gough  <bjg@vvv.lanl.gov>
320
321         * gsl_rng.h: added gsl_rng_uniform_pos which guarantees positive
322         numbers, (0,1]
323
324         * added a RAND_MIN entry to the gsl_rng/gsl_rng_type structs
325
326         * gsl_rng.h: renamed gsl_rng_get_uni to gsl_rng_uniform
327
328 Wed Jun 24 12:10:23 1998  Brian Gough  <bjg@vvv.lanl.gov>
329
330         * gsl_rng.h: added inline versions of gsl_rng_get and
331         gsl_rng_get_uni
332
333         * benchmark.c: added a simple benchmark program to measure rng's
334         per second
335
336         * test.c (N2): reduced the number of tests from 1 million to 100k
337         to speed things up a bit
338
339         * changed the generic seeding algorithm to s -> (69069*s) &
340         0xFFFFFFFF which covers all 32 bits.
341
342 Sun Jun 21 23:24:36 1998  Brian Gough  <bjg@vvv.lanl.gov>
343
344         * added the MT19937 and TT880 mersenne prime generators
345
346 Sat Jun 20 13:58:40 1998  Brian Gough  <bjg@vvv.lanl.gov>
347
348         * ensured that 32 bit quantities are defined as 'long', as
349         required by ANSI. On a 16 bit platform 'int' is usually just 16
350         bits.
351         
352         * ranlux.c: added the RANLUX generator
353
354 Fri Jun 19 11:12:06 1998  Brian Gough  <bjg@vvv.lanl.gov>
355
356         * removed the gsl- prefix from generator name strings
357
358 Thu Jun 18 12:17:16 1998  Brian Gough  <bjg@vvv.lanl.gov>
359
360         * test.c: added a 10000 iteration check for cmrg
361
362         * got rid of init_state values. It's simpler to generate them
363         directly from the seed, the cost of creating an rng is not usually
364         a big deal.
365         
366         * rng.c: eliminated the gsl_rng_internal struct since it was not
367         really necessary
368
369 Wed Jun 17 17:31:27 1998  Brian Gough  <bjg@vvv.lanl.gov>
370
371         * minstd.c: added Park and Millers MINSTD generator
372
373 Thu Jun 11 18:08:40 1998  Brian Gough  <bjg@vvv.lanl.gov>
374
375         * this will be an alternate, thread-safe interface to the random
376         number generators.
377