summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Doligez <damien.doligez-inria.fr>2003-06-12 12:54:51 +0000
committerDamien Doligez <damien.doligez-inria.fr>2003-06-12 12:54:51 +0000
commita085ee83100caf6b2c51a5ce76eca69f4cb9b59b (patch)
treeb2f446d2117ff175b7a5826e927a8bc4e1d2bde0
parent7907414f8fa7a982ec1e1afc6eaa4516f550cd41 (diff)
plus de determinisme (?)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5595 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--stdlib/random.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/stdlib/random.ml b/stdlib/random.ml
index 2da5e98f0..2c2f2408f 100644
--- a/stdlib/random.ml
+++ b/stdlib/random.ml
@@ -42,9 +42,9 @@ let default = {
(* Returns 30 random bits as an integer 0 <= x < 1073741824 *)
let s_bits s =
s.idx <- (s.idx + 1) mod 55;
- let newval = s.st.((s.idx + 24) mod 55) + s.st.(s.idx) in
+ let newval = (s.st.((s.idx + 24) mod 55) + s.st.(s.idx)) land 0x3FFFFFFF in
s.st.(s.idx) <- newval;
- newval land 0x3FFFFFFF
+ newval
;;
(* Returns a float 0 <= x < 1 with at most 90 bits of precision. *)