# HG changeset patch # User Brian Gough # Date 1222103859 14400 # Node ID d227d096d49e35799a9aa2cfdd7c94b0032fbce4 # Parent eb2beef9a9ffdfdc88df091b9bc1a1ceabdf3a94 oct-rand.cc (initialize_mersenne_twister): use separate initializations for each generator diff --git a/liboctave/ChangeLog b/liboctave/ChangeLog --- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,12 @@ +2008-09-22 Brian Gough + + * oct-rand.cc (initialize_mersenne_twister): Use separate + initializations for each generator to avoid correlation. + +2008-09-12 Jaroslav Hajek + + * oct-inttypes.h (pow (const octave_int&, const octave_int&)): + 2008-09-19 John W. Eaton * Array.cc (assign1, assign2, assignN): diff --git a/liboctave/oct-rand.cc b/liboctave/oct-rand.cc --- a/liboctave/oct-rand.cc +++ b/liboctave/oct-rand.cc @@ -466,9 +466,21 @@ ColumnVector s = get_internal_state (); rand_states[uniform_dist] = s; + + oct_init_by_entropy (); + s = get_internal_state (); rand_states[normal_dist] = s; + + oct_init_by_entropy (); + s = get_internal_state (); rand_states[expon_dist] = s; + + oct_init_by_entropy (); + s = get_internal_state (); rand_states[poisson_dist] = s; + + oct_init_by_entropy (); + s = get_internal_state (); rand_states[gamma_dist] = s; }