Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48,
lcong48 - Generer de nombres pseudo-aleatoires uniformement distribues
SYNOPSIS
#include <stdlib.h>
double drand48(void);
double erand48(unsigned short xsubi[3]);
long int lrand48(void);
long int nrand48(unsigned short xsubi[3]);
long int mrand48(void);
long int jrand48(unsigned short xsubi[3]);
void srand48(long int seedval);
unsigned short *seed48(unsigned short seed16v[3]);
void lcong48(unsigned short param[7]);
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
Pour toutes les fonctions ci-dessus : _SVID_SOURCE || _XOPEN_SOURCE
DESCRIPTION
Ces fonctions generent des nombres pseudo-aleatoires en utilisant un
algorithme de congruence lineaire, et une arithmetique entiere sur
48 bits.
Les fonctions drand48() et erand48() renvoient des valeurs positives en
virgule flottante double precision, uniformement distribuees dans
l'intervalle [0.0, 1.0].
Les fonctions lrand48() et nrand48() renvoient des entiers longs
positifs, uniformement distribues entre 0 et 2^31.
Les fonctions mrand48() et jrand48() renvoient des entiers longs
signes, uniformement distribues entre -2^31 et 2^31.
Les fonctions srand48(), seed48() et lcong48() sont des fonctions
d'initialisation. L'une d'entre elles doit etre appelee avant
d'utiliser les fonctions drand48(), lrand48() ou mrand48(). Les
fonctions erand48(), nrand48() et jrand48() ne necessitent pas de
fonction d'initialisation.
Toutes ces fonctions engendrent une sequence d'entiers Xi, sur 48 bits,
suivant la formule de congruence lineaire :
Xn+1 = (aXn + c) mod m, avec n >= 0
Le parametre m vaut 2^48, ainsi l'arithmetique entiere sur 48 bits est
respectee. Tant que lcong48() n'est pas appele, a et c valent :
a = 0x5DEECE66D
c = 0xB
Les valeurs renvoyees par les fonctions drand48(), erand48(),
lrand48(), nrand48(), mrand48() ou jrand48() sont calculees en generant
les Xi suivant sur 48 bits dans la sequence. Ensuite, le nombre de bits
approprie au type de la valeur de retour est copie en partant des bits
de poids forts de Xi, et convertit dans la valeur renvoyee.
Les fonctions drand48(), lrand48() et mrand48() memorisent le dernier
Xi sur 48 bits cree dans un tampon interne. Les fonctions erand48(),
nrand48() et jrand48() necessitent que le programme appelant fournisse
un emplacement de stockage pour les valeurs successives de Xi. Cet
emplacement est le tableau correspondant a l'argument xsubi. Ces
fonctions sont initialisees en placant la valeur initiale de Xi dans le
tableau avant le premier appel.
La fonction d'initialisation srand48() definit les 32 bits de poids
fort de Xi avec l'argument seedval. Les 16 bits de poids faibles sont
initialises avec la valeur arbitraire 0x330E.
La fonction d'initialisation seed48() definit la valeur de Xi comme la
valeur specifiee dans le tableau seed16v. La precedente valeur de Xi
est copiee dans un tampon interne et un pointeur vers ce tampon est
renvoye par seed48().
La fonction d'initialisation lcong48() permet a l'utilisateur de
definir des valeurs initiales de Xi, a et c. Les elements param[0-2] du
tableau specifient Xi, param[3-5] specifient a et param[6] specifie c.
Apres un appel a lcong48(), un appel ulterieur a srand48() ou a
seed48() retablira les valeurs normales de a et c.
CONFORMIT'E
SVr4, POSIX.1-2001.
NOTES
Ces fonctions sont declarees obsoletes par SVID 3, qui indique que
rand(3) devrait etre utilisee a la place.
VOIR AUSSI
rand(3), random(3)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Florentin
Duneau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
26 juillet 2007 DRAND48(3)