From: Daniel Kochmański Date: Mon, 21 Sep 2015 16:08:50 +0000 (+0200) Subject: random-state: allow initialization from the array X-Git-Url: http://git.pulsar-zone.net/?a=commitdiff_plain;h=82ef9aa3189c343593a67c3e6086a2c036edc684;p=ecl.git random-state: allow initialization from the array Array used for initialization is an array of the final values of internal vector used to generate next randoms which should be a product of initialization from a random seed. This ability is required by CLHS to be able to read back the printed random state. To print readable representation of random state *print-readably* should be bound to T. Signed-off-by: Daniel Kochmański --- diff --git a/src/c/num_rand.d b/src/c/num_rand.d index cc48ca6..588080f 100644 --- a/src/c/num_rand.d +++ b/src/c/num_rand.d @@ -212,6 +212,9 @@ ecl_make_random_state(cl_object rs) case t_random: z->random.value = cl_copy_seq(rs->random.value); break; + case t_vector: + z->random.value = cl_copy_seq(rs); + break; case t_fixnum: /* XXX: If we'll decide to use 64-bit algorithm for appropriate platforms then this will be replaced @@ -219,9 +222,6 @@ ecl_make_random_state(cl_object rs) z->random.value = init_genrand (ecl_to_uint32_t(rs)); break; - /* case t_vector: */ - /* z->random.value = init_by_array(rs, cl_length(rs)); */ - /* break; */ default: FEwrong_type_only_arg(@[make-random-state], rs, @[random-state]);