[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Un programme machine déterministe ne peut pas produire de véritables nombres aléatoires. Dans la plupart des cas, pseudo-randam numbers suffit. Une série de nombres pseudo-aléatoires est produite d'une façon déterminée. Les nombres ne sont pas vraiment aléatoires, mais ils ont certaines propriétés à imiter une série aléatoire. Par exemple, toutes les valeurs possibles se produisent également souvent dans une série pseudo-aléatoire.
Dans Emacs, des nombres pseudo-aléatoires sont produits à partir de
“graine” de nombre. À partir de n'importe quelle graine donnée, la
fonction random
produit toujours le même ordre de
nombres. Emacs démarre toujours par la même valeur de graine, ainsi la
séquence des valeurs de random
est réellement les mêmes dans
chaque passe d'Emacs ! Par exemple, dans un logiciel d'exploitation,
le premier appel à (random)
, après que vous démarriez Emacs,
retourne toujours -1457731, et le second renvoie toujours
-7692030. Cette répétition est utile pour la correction.
Si vous voulez des nombres aléatoires qui ne sont pas toujours
pareils, exécuter (random t)
. Ceci choisit une nouvelle graine
basée sur l'heure courante du jour et sur le numéro du processus
ID d'Emacs.
Cette fonction renvoie un nombre entier pseudo-aléatoire. Les appels répétés renvoient a une série de nombres entiers pseudo-aléatoires.
Si limit est un nombre entier positif, la valeur est choisie pour être non négative et inférieure à limit.
Si limit est t
, cela signifie de choisir une nouvelle
graine basée sur heure courante et sur le numéro de processus
ID d'Emacs.
Sur quelques machines, n'importe quel nombre entier représentable en
Lisp peut être le résultat de random
. Sur d'autres machines, le
résultat peut ne jamais être plus grand qu'un certain maximum ou moins
qu'un certain minimum (négatif).
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.