random_r   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (3)
Updated: 7 mars 2008
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
random_r, srandom_r, initstate_r, setstate_r - Générateur de nombres aléatoires réentrant  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <stdlib.h>

int random_r(struct random_data *buf, int32_t *result);

int srandom_r(unsigned int seed, struct random_data *buf);

int initstate_r(unsigned int seed, char *statebuf,
                size_t statelen, struct random_data *buf);

int setstate_r(char *statebuf, struct random_data *buf);

Exigences de macros de test de fonctionalités pour la glibc (voir feature_test_macros(7)):

random_r(), srandom_r(), initstate_r(), setstate_r(): _SVID_SOURCE || _BSD_SOURCE  




DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Ces fonctions sont les équivalents réentrants des fonctions décrites dans random(3). Elles sont appropriées à l'utilisation dans des programmes multithreadés où chaque thread doit pouvoir obtenir une séquence indépendante et reproductible de nombres aléatoires.

La fonction random_r() est identique à random(3), excepté qu'au lieu d'utiliser l'information d'état maintenue dans une variable globale, elle utilise l'information d'état située dans l'argument pointé par buf. Le nombre aléatoire généré est renvoyé dans l'argument result.

La fonction srandom_r() est identique à srandom(3), excepté qu'elle initialise la graine du générateur de nombre aléatoire dont l'état est maintenu dans l'objet pointé par buf, au lieu de la graine associée à la variable d'état globale.

La fonction initstate_r() est identique à initstate(3) excepté qu'elle initialise l'état dans l'objet pointé par buf, plutôt que d'initialiser la variable d'état globale.

La fonction setstate_r() est identique à setstate(3) excepté qu'elle modifie l'état dans l'objet pointé par buf, plutôt que de modifier la variable d'état globale.  




VALEUR RENVOYÉE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Toutes ces fonctions renvoient 0 si elles réussissent et -1 si elles échouent.  



ERREURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
EINVAL
Un tableau d'état de moins de 8 octets a été spécifié à initstate_r().
EINVAL
L'argument statebuf ou buf de setstate_r() était NULL.
EINVAL
L'argument buf ou result de random_r() était NULL.
 



CONFORMITÉ   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Ces fonctions sont des extensions glibc non standards.  



VOIR AUSSI   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
drand48(3), rand(3), random(3)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 6 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 random_r ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION

Table des mots clés   Début   Suivant   Sommaire   Préc.page.lue   Accueil
EINVALERREURS



Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:51:08, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional