Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       random, srandom, initstate, setstate - generator de numere aleatoare

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <stdlib.h>

       long random(void);
       void srandom(unsigned int seed);

       char *initstate(unsigned int seed, char state[.n], size_t n);
       char *setstate(char *state);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       random(), srandom(), initstate(), setstate():
           _XOPEN_SOURCE >= 500
               || /* glibc >= 2.19: */ _DEFAULT_SOURCE
               || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

DESCRIERE

       Funcția random() utilizează un generator de numere aleatoare cu reacție aditivă neliniară care utilizează
       un  tabel  implicit  de  31  de numere întregi lungi pentru a returna numere pseudoaleatoare succesive în
       intervalul 0-2^31 - 1. Perioada acestui generator de  numere  aleatoare  este  foarte  mare,  aproximativ
       16 * ((2^31) - 1).

       Funcția  srandom()  își  stabilește  argumentul  ca  sămânță  pentru  o  nouă  secvență de numere întregi
       pseudoaleatoare care va fi returnată de random(). Aceste secvențe pot fi repetate prin apelarea srandom()
       cu aceeași valoare de sămânță. În cazul în care nu  se  furnizează  nicio  valoare  de  sămânță,  funcția
       random() este automat însămânțată cu o valoare de 1.

       Funcția  initstate() permite inițializarea unei matrice de stări state pentru a fi utilizată de random().
       Dimensiunea matricei de stare n este utilizată de initstate() pentru a decide cât de  sofisticat  trebuie
       să fie generatorul de numere aleatoare pe care trebuie să-l utilizeze - cu cât matricea de stare este mai
       mare,  cu  atât mai bune vor fi numerele aleatoare. Valorile „optime” actuale pentru dimensiunea matricei
       de stări n sunt 8, 32, 64, 128 și 256 de octeți; alte valori  vor  fi  rotunjite  la  cea  mai  apropiată
       valoare  cunoscută.  Dacă  se  utilizează  mai  puțin de 8 octeți, se produce o eroare. seed este sămânța
       pentru inițializare, care specifică un punct de pornire pentru secvența de numere  aleatoare  și  asigură
       repornirea în același punct.

       Funcția setstate() modifică matricea de stare utilizată de funcția random(). Matricea de stare state este
       utilizată  pentru  generarea  numerelor  aleatoare  până  la  următorul  apel al funcției initstate() sau
       setstate(). state trebuie mai întâi să fi fost inițializat cu ajutorul initstate() sau să fie  rezultatul
       unui apel anterior al setstate().

VALOAREA RETURNATĂ

       Funcția  random()  returnează  o  valoare  între  0  și (2^31) - 1. Funcția srandom() nu returnează nicio
       valoare.

       Funcția initstate() returnează un indicator la matricea de stare anterioară.  În  caz  de  eșec,  aceasta
       returnează NULL, iar errno este configurată pentru a indica eroarea.

       În  caz  de  succes,  setstate() returnează un indicator la matricea de stare anterioară. În caz de eșec,
       aceasta returnează NULL, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

       EINVAL Argumentul state dat la setstate() a fost NULL.

       EINVAL O matrice de stare mai mică de 8 octeți a fost specificată la initstate().

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ random(), srandom(), initstate(), setstate()                            │ Siguranța firelor │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       POSIX.1-2008.

ISTORIC

       POSIX.1-2001, 4.3BSD.

NOTE

       Generarea numerelor aleatoare este un subiect complex. Numerical Recipes in  C:  The  Art  of  Scientific
       Computing  (William  H.  Press,  Brian  P.  Flannery, Saul A. Teukolsky, William T. Vetterling; New York:
       Cambridge University Press, 2007, ed. a 3-a)  oferă  o  discuție  excelentă  a  problemelor  practice  de
       generare a numerelor aleatoare în capitolul 7 (Random Numbers).

       Pentru  o  discuție  mai  teoretică,  care  acoperă  în  profunzime și multe aspecte practice, a se vedea
       capitolul 3 (Random  Numbers)  din  The  Art  of  Computer  Programming  Donald  E.  Knuth's,  volumul  2
       (Seminumerical Algorithms), 2nd ed.; Reading, Massachusetts: Addison-Wesley Publishing Company, 1981.

PRECAUȚII

       Funcția  random() nu ar trebui utilizată în programele cu mai multe fire de execuție în care este necesar
       un comportament reproductibil. Folosiți random_r(3) în acest scop.

ERORI

       În conformitate cu POSIX, initstate() ar trebui să returneze NULL în  caz  de  eroare.  În  implementarea
       glibc, errno este (așa cum este specificat) stabilită în caz de eroare, dar funcția nu returnează NULL.

CONSULTAȚI ȘI

       getrandom(2), drand48(3), rand(3), random_r(3), srand(3)

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  NICIO
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                          random(3)