George Lebl 80591652ff Add the init_by_array functionality from the reference implementation of
Fri Dec 19 11:49:21 2003  George Lebl <jirka@5z.com>

        * glib/grand.c
          glib/grand.h (g_rand_new) (g_rand_new_with_seed)
          (g_rand_new_with_seed_array) (g_rand_set_seed_array):  Add
          the init_by_array functionality from the reference implementation
          of the mersenne twister (mt19937ar.c) and change the naming
          to fit with the rest of the grand API.  New functions are
          g_rand_new_with_seed_array, g_rand_set_seed_array.  This is only
          reliable/tested for the 2.2 version of the seeding as that's what
          the reference implementation uses.  Also modify g_rand_new to
          get 4 longs from /dev/urandom since that will always be available
          anyway and we get more entropy and if /dev/urandom is unavailable
          use also 4 longs for seeding using secs, usecs, getpid and getppid.
          For version 2.0 use only a simple seed again but be more careful
          about seeding with secs/usecs in this case.

        * glib/grand.c
          glib/grand.h (g_rand_copy):  Add g_rand_copy function to copy the
          current state of the random number generator.

        * glib/grand.c (g_rand_new):  Add testing for EINTR when reading
          from /dev/urandom

        * tests/rand-test.c: add testing of the array seeding stuff against
          the reference implementation, plus add statistical sanity check
          to see that the values outputted are truly kind of random.  And
          check that g_rand_copy truly copies the state by checking a few
          terms.
2004-01-10 01:38:55 +00:00
..
2002-05-18 22:06:54 +00:00
2003-10-27 23:38:05 +00:00
2003-08-05 22:21:19 +00:00
2002-10-15 22:16:57 +00:00
2002-10-15 22:16:57 +00:00
2003-09-25 19:01:57 +00:00
2001-11-26 19:08:46 +00:00
2002-05-18 22:06:54 +00:00
2002-01-29 20:23:48 +00:00
2003-07-20 15:55:09 +00:00
2003-08-16 19:45:25 +00:00
2003-11-20 23:12:05 +00:00
2002-10-15 22:16:57 +00:00
2003-11-20 23:12:05 +00:00
2002-10-15 22:16:57 +00:00