Bonjour !
Je ne sais pas où tu l'as vu, mais c'est une erreur. OCaml permet de faire des décalages de bits (cf
la documentation du module Pervasives). Voici une traduction rapide de ton code C :
1 2 3 4
| let bruit n =
let m = n lsl 13 lxor n in
let p = ((m * (m * m * 15985 + 735971) + 675332129) lxor 0x7FFFAAFF) in
float p /. (float max_int) |
Attention : je n'ai pas cherché à tester... il y a peut-être des choses à changer... je pense notamment à 0x7FFFAAFF qui est trop grand, et à
max_int qui n'est pas exactement ce que tu veux.
Cordialement,
Cacophrène
Partager