| 2007-01-28 Brian Gough <bjg@network-theory.co.uk> |
| |
| * knuthran2002.c: added revised version from 9th printing |
| |
| 2007-01-04 Brian Gough <bjg@network-theory.co.uk> |
| |
| * default.c (gsl_rng_env_setup): send newline to stderr not stdout |
| |
| 2006-04-13 Brian Gough <bjg@network-theory.co.uk> |
| |
| * default.c (gsl_rng_env_setup): print a newline after list of |
| generators in error message |
| |
| 2006-03-16 Brian Gough <bjg@network-theory.co.uk> |
| |
| * test.c (main): added taus2 test |
| |
| 2006-02-19 Brian Gough <bjg@network-theory.co.uk> |
| |
| * rng.c: added note about why range=max-min not max-min+1 |
| |
| 2005-12-16 Brian Gough <bjg@network-theory.co.uk> |
| |
| * rng.c (gsl_rng_uniform_int): catch the case n = 0 and return an |
| error |
| |
| 2003-07-23 Brian Gough <bjg@network-theory.co.uk> |
| |
| * file.c: added fwrite/fread functions |
| |
| 2003-06-12 Brian Gough <bjg@network-theory.co.uk> |
| |
| * Makefile.am: removed benchmark programs from default build |
| |
| 2003-06-02 Brian Gough <bjg@network-theory.co.uk> |
| |
| * waterman14.c: increased RAND_MIN to 1 |
| |
| * lecuyer21.c: corrections to RAND_MIN, RAND_MAX, floating point |
| denominator and seeding modulus |
| |
| * fishman20.c (ran_get): use schrage multiplication to avoid |
| overflow |
| |
| * coveyou.c: corrected value of RAND_MIN to 1 and RAND_MAX to 2^32-1 |
| |
| * borosh13.c: increased RAND_MIN to 1 |
| |
| * knuthran2.c (ran_get): use schrage multiplication to avoid |
| overflow in intermediate results |
| |
| * fishman2x.c (ran_get): use schrage multiplication to avoid |
| overflow in intermediate results |
| |
| * fishman18.c (ran_get): use schrage multiplication to avoid |
| overflow in intermediate results |
| |
| * schrage.c (schrage): utility functions for multiplication of |
| long integers |
| |
| * test.c (main): updated incorrect test values for |
| gsl_rng_fishman18 gsl_rng_fishman2x gsl_rng_knuthran2 |
| |
| Mon Nov 25 19:27:10 2002 Brian Gough <bjg@network-theory.co.uk> |
| |
| * taus.c (taus2_set): fixed bug in seeding for s3 (test should be |
| for s3<16, not s3<8) |
| |
| Sun Nov 3 14:40:43 2002 Brian Gough <bjg@network-theory.co.uk> |
| |
| * taus.c (taus2_set): fixed bug in seeding for s2 < 8 |
| |
| Mon Jun 17 21:04:10 2002 Brian Gough <bjg@network-theory.co.uk> |
| |
| * mt.c (mt_set): ensure state counter mti is initialised by |
| seeding routine |
| |
| Wed May 29 21:52:11 2002 Brian Gough <bjg@network-theory.co.uk> |
| |
| * randu.c: removed unused variable m |
| |
| Tue May 7 22:34:52 2002 Brian Gough <bjg@network-theory.co.uk> |
| |
| * mt.c (mt_1999_set): updated seeding procedure according to new |
| release of MT19937 from the original authors. |
| |
| Fri Apr 26 21:17:05 2002 Brian Gough <bjg@network-theory.co.uk> |
| |
| * taus.c (taus2_set): added alternate seeding procedure as |
| described in erratum to P.L'Ecuyer's paper. |
| |
| Wed Apr 17 19:37:49 2002 Brian Gough <bjg@network-theory.co.uk> |
| |
| * test.c (main): added missing test for gsl_rng_mt19937_1998 |
| |
| * gsl_rng.h: added missing declaration for gsl_rng_mt19937_1998 |
| |
| Sun Dec 2 15:45:24 2001 Brian Gough <bjg@network-theory.co.uk> |
| |
| * Added new generators borosh13, coveyou, fishman18, fishman20, |
| fishman2x, knuthran, knuthran2, lecuyer21, waterman14 from Knuth's |
| Seminumerical Algorithms 3rd Ed. Implemented by Carlo Perassi. |
| |
| * gfsr4.c (gfsr4_get_double): increased divisor for double to |
| 2^32, avoids generating exact result of 1.0 as specified in the |
| documentation |
| |
| Mon Sep 3 10:32:01 2001 Brian Gough <bjg@network-theory.co.uk> |
| |
| * mt.c (mt_1998_set): renamed macro to avoid duplicate definition |
| |
| Fri Aug 31 17:49:37 2001 Brian Gough <bjg@network-theory.co.uk> |
| |
| * mt.c (mt_1998_set): added the original (buggy) MT19937 seeding |
| routine as mt19937_1998 for compatibility. |
| |
| Wed May 2 15:35:38 2001 Brian Gough <bjg@network-theory.co.uk> |
| |
| * ran1.c (ran1_get_double): use float constants for comparison |
| for compatibility with original Numerical Recipes routines |
| |
| * ran2.c (ran2_get_double): ditto |
| |
| Fri Apr 27 18:47:07 2001 Brian Gough <bjg@network-theory.co.uk> |
| |
| * types.c (gsl_rng_types_setup): added void to make prototype |
| valid in ansi c |
| |
| Mon Apr 16 20:03:07 2001 Brian Gough <bjg@network-theory.co.uk> |
| |
| * default.c (gsl_rng_env_setup): removed spurious argument to |
| fprintf |
| |
| Tue Jan 23 13:24:26 2001 Brian Gough <bjg@network-theory.co.uk> |
| |
| * types.c (gsl_rng_types_setup): provide a function that returns a |
| list of all the generator types |
| |
| * default.c (gsl_rng_env_setup): get the list of generators from a |
| function rather than having a list in the code itself. Display a |
| list of the valid generators if the user provides an incorrect one. |
| |
| Fri Dec 8 20:30:58 2000 Brian Gough <bjg@network-theory.co.uk> |
| |
| * ranlxs.c: renamed internal function ranlxs_set_impl to |
| ranlxs_set |
| |
| * ranlxd.c: renamed internal function ranlxd_set_impl to |
| ranlxd_set |
| |
| * ranlux.c: renamed internal function ranlux_set_impl to |
| ranlux_set |
| |
| * random.c: renamed internal function random_get_impl function to |
| random_get |
| |
| Sat Jul 29 14:29:54 2000 Brian Gough <bjg@network-theory.co.uk> |
| |
| * test.c (main): updated test value for MT19937 for new seeding |
| procedure |
| |
| * mt.c: The seeding procedure has been updated to match the 10/99 |
| release of MT19937. |
| |
| Wed Mar 8 16:04:34 2000 Brian Gough <bjg@network-theory.co.uk> |
| |
| * rng.c (gsl_rng_memcpy): generators must now be of the same type |
| for a copy from one to the other to work. |
| |
| Thu Feb 24 16:41:48 2000 Brian Gough <bjg@network-theory.co.uk> |
| |
| * ran3.c (ran3_set): initialize unused zeroth element of state to |
| zero for consistency. |
| |
| Mon Feb 14 13:28:26 2000 Brian Gough <bjg@network-theory.co.uk> |
| |
| * made all internal functions static |
| |
| Mon Dec 6 16:21:05 1999 Brian Gough <bjg@network-theory.co.uk> |
| |
| * test.c (main): rewrote the tests to loop over all the generators |
| |
| Wed Aug 11 20:57:10 1999 Brian Gough <bjg@network-theory.co.uk> |
| |
| * ranlxd.c, ranlxs.c: added ranlxd and ranlxs, second generation |
| RANLUX generators from Martin Luescher. |
| |
| Mon Mar 1 21:12:28 1999 Brian Gough <bjg@netsci.freeserve.co.uk> |
| |
| * test.c (rng_parallel_state_test): added some extra tests to fill |
| a few holes in the net |
| |
| * gsl_rng.h: moved static class information (max, min, etc) out of |
| the instance data. Originally I avoided this because of the |
| overhead of the extra indirection (r->type->get vs r->get) for |
| every get function call, but that turns out to be only about 10% |
| at worst so it's worth the slight speed cost to make the code |
| safer. |
| |
| Tue Nov 17 17:09:31 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * gfsr4.c: added #include <config.h> which was missing |
| |
| 1998-11-04 <bjg@ancho.lanl.gov> |
| |
| * ranf.c: fix portability problems on alpha, by ensuring that |
| shorts are correctly promoted to longs at the appropriate points |
| |
| * rand48.c: fix portability problems by ensuring that shorts are |
| correctly promoted to longs at the appropriate points |
| |
| * rng-dump.c (main): write out file correctly by using chars |
| instead of unsigned long ints, since these can vary in size on |
| different architectures |
| |
| Wed Oct 28 15:02:22 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * rng.c: added #include <string.h> to get prototype for memcpy |
| |
| Mon Sep 14 20:53:09 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * default.c (gsl_rng_env_setup): added gfsr4 |
| |
| 1998-09-10 James Theiler <jt@lanl.gov> |
| |
| * gfsr4.c: added new random number generator |
| |
| * Makefile.am: added gfsr4.c to SOURCES list |
| |
| * gsl_rng.h: added gfsr4 |
| |
| * test.c: added gfsr4 |
| |
| * benchmark.c: added gfsr4 |
| |
| Mon Aug 10 22:12:13 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * rng-dump.c: program to write out 3 million random numbers, |
| suitable for testing with DIEHARD. |
| |
| Tue Aug 4 19:51:57 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * default.c (gsl_rng_env_setup): send default/enviroment output to |
| stderr |
| |
| Mon Aug 3 18:25:52 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * mt.c: made constants static since they shouldn't be exported, |
| added some speed improvements from Cokus' code (not all of them |
| since they seemed to use more registers than available on the |
| pentium). |
| |
| Thu Jul 9 13:56:20 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * slatec.c: renamed cmlib.c to slatec.c |
| |
| * transputer.c: renamed tds.c to transputer.c so the name is a bit |
| more obvious |
| |
| * random.c: renamed random0 functions to random8, since obviously |
| we can't have 0 bytes of state |
| |
| * default.c (gsl_rng_env_setup): made gsl_rng_mt19937 the default |
| generator |
| |
| Wed Jul 8 17:06:54 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * added random() functions. There are three(!) versions: the |
| original BSD, linux libc5 (had a typo in the multiplier, but got |
| installed on millions of machines so is now a defacto standard) |
| and GNU glibc2 (fixes the typo and has an improved seeding |
| procedure) |
| |
| Sun Jul 5 15:59:29 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * rand.c: renamed rand.c to cmlib.c and bsdrand.c to rand.c. |
| |
| * ranf.c: added CRAY RANF, 48 bit generator |
| |
| * rand48.c: added the standard unix rand48() |
| |
| * changed all the routines to allow an additional callback for |
| returning doubles. Now we can implement numerical recipes with its |
| non-standard checks on the floating point results and also access |
| the full state for getting 48-bit doubles out of rand48. |
| |
| Sat Jul 4 11:14:49 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * ranmar.c: added the RANMAR generator |
| |
| * tds.c: added the INMOS Transputer RNG |
| |
| * test.c (rng_min_test): added a test for RAND_MIN, to make sure |
| none of the generators go below it. Statistically the test is not |
| much good since it's very unlikely that an off-by-one error would |
| show up unless we ran the test for > 4 billion numbers. However, |
| the test might detect a gross error like a typo in RAND_MIN or a |
| degeneracy 0,0,0,... for a multiplicative generator. |
| |
| * uni.c: fixed RAND_MAX here too |
| |
| * uni32.c: fixed RAND_MAX to m1-1, not m1 (since it's modulo m1 so |
| m1 can't occur, only m1-1) |
| |
| Fri Jul 3 15:55:34 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * rng.c (gsl_rng_uniform_gt0_lt1): added a function which returns |
| numbers in the range (0,1), i.e. excluding 0.0 and 1.0 |
| |
| * renamed bad_randu.c to randu.c |
| |
| * renamed bad_rand.c to bsdrand.c |
| |
| Mon Jun 29 18:11:08 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * added implementations of the numerical recipes algorithms ran0, |
| ran1, ran2, ran3 |
| |
| Sun Jun 28 11:51:48 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * gsl_rng.h: added gsl_rng_uniform_pos which guarantees positive |
| numbers, (0,1] |
| |
| * added a RAND_MIN entry to the gsl_rng/gsl_rng_type structs |
| |
| * gsl_rng.h: renamed gsl_rng_get_uni to gsl_rng_uniform |
| |
| Wed Jun 24 12:10:23 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * gsl_rng.h: added inline versions of gsl_rng_get and |
| gsl_rng_get_uni |
| |
| * benchmark.c: added a simple benchmark program to measure rng's |
| per second |
| |
| * test.c (N2): reduced the number of tests from 1 million to 100k |
| to speed things up a bit |
| |
| * changed the generic seeding algorithm to s -> (69069*s) & |
| 0xFFFFFFFF which covers all 32 bits. |
| |
| Sun Jun 21 23:24:36 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * added the MT19937 and TT880 mersenne prime generators |
| |
| Sat Jun 20 13:58:40 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * ensured that 32 bit quantities are defined as 'long', as |
| required by ANSI. On a 16 bit platform 'int' is usually just 16 |
| bits. |
| |
| * ranlux.c: added the RANLUX generator |
| |
| Fri Jun 19 11:12:06 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * removed the gsl- prefix from generator name strings |
| |
| Thu Jun 18 12:17:16 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * test.c: added a 10000 iteration check for cmrg |
| |
| * got rid of init_state values. It's simpler to generate them |
| directly from the seed, the cost of creating an rng is not usually |
| a big deal. |
| |
| * rng.c: eliminated the gsl_rng_internal struct since it was not |
| really necessary |
| |
| Wed Jun 17 17:31:27 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * minstd.c: added Park and Millers MINSTD generator |
| |
| Thu Jun 11 18:08:40 1998 Brian Gough <bjg@vvv.lanl.gov> |
| |
| * this will be an alternate, thread-safe interface to the random |
| number generators. |
| |