Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Quelques questions sur Caml Light
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Damien Doligez <Damien.Doligez@i...>
Subject: Re: [Caml-list] Quelques questions sur Caml Light
On Tuesday, April 15, 2003, at 11:26 AM, Julien ÉLIE wrote:

> 7°) À quoi sert la fonction « random__full_init » ?
> J'ai beau modifier la valeur donnée au « seed »,
> j'obtiens toujours la même séquence de nombres...
>
> random__full_init [|3;6|];;
> for i = 1 to 100 do
>   print_int (random__int 1000);
>   print_string " ";
> done;;
>
> renvoie les mêmes nombres que si j'avais auparavant fait :
> random__full_init [|5150;615|];;
> ou encore :
> random__full_init [|3;6;5;4;8;1;4;2;52;61|];;

Ce n'est pas exactement la meme sequence de nombres.  En cherchant
bien, on trouve des differences.

> Je ne comprends pas très bien ce qui se passe...

Ce qui se passe, c'est que la fonction full_init prend en argument
un tableau de 55 entiers de 31 bits, et les utilise pour changer la
valeur initiale par defaut du generateur pseudo-aleatoire.  Si vous
lui donnez un tableau de moins de 55 entiers ou des entiers plus petits
que 31 bits, elle fait de son mieux, mais vous risquez de changer des
bits de l'etat interne qui ne sont pas utilises pour generer des
nombres entre 0 et 1000.

-- Damien

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners