Mon Dec 6 16:21:05 1999 Brian Gough * test.c (main): rewrote the tests to loop over all the generators Wed Aug 11 20:57:10 1999 Brian Gough * ranlxd.c, ranlxs.c: added ranlxd and ranlxs, second generation RANLUX generators from Martin Luescher. Mon Mar 1 21:12:28 1999 Brian Gough * 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 * gfsr4.c: added #include which was missing 1998-11-04 * 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 * rng.c: added #include to get prototype for memcpy Mon Sep 14 20:53:09 1998 Brian Gough * default.c (gsl_rng_env_setup): added gfsr4 1998-09-10 James Theiler * 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 * 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 * default.c (gsl_rng_env_setup): send default/enviroment output to stderr Mon Aug 3 18:25:52 1998 Brian Gough * 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 * 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 * 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 * 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 * 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 * 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 * added implementations of the numerical recipes algorithms ran0, ran1, ran2, ran3 Sun Jun 28 11:51:48 1998 Brian Gough * 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 * 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 * added the MT19937 and TT880 mersenne prime generators Sat Jun 20 13:58:40 1998 Brian Gough * 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 * removed the gsl- prefix from generator name strings Thu Jun 18 12:17:16 1998 Brian Gough * 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 * minstd.c: added Park and Millers MINSTD generator Thu Jun 11 18:08:40 1998 Brian Gough * this will be an alternate, thread-safe interface to the random number generators.