.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2008 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH random_r 3 "20 iulie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME random_r, srandom_r, initstate_r, setstate_r \- generator de numere aleatoare reentrante .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBint random_r(struct random_data *restrict \fP\fIbuf\fP\fB,\fP \fB int32_t *restrict \fP\fIresult\fP\fB);\fP \fBint srandom_r(unsigned int \fP\fIseed\fP\fB, struct random_data *\fP\fIbuf\fP\fB);\fP .PP \fBint initstate_r(unsigned int \fP\fIseed\fP\fB, char \fP\fIstatebuf\fP\fB[restrict .\fP\fIstatelen\fP\fB],\fP \fB size_t \fP\fIstatelen\fP\fB, struct random_data *restrict \fP\fIbuf\fP\fB);\fP \fBint setstate_r(char *restrict \fP\fIstatebuf\fP\fB,\fP \fB struct random_data *restrict \fP\fIbuf\fP\fB);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP \fBrandom_r\fP(), \fBsrandom_r\fP(), \fBinitstate_r\fP(), \fBsetstate_r\fP(): .nf /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE .fi .SH DESCRIERE Aceste funcții sunt echivalentele reentrante ale funcțiilor descrise în \fBrandom\fP(3). Ele sunt adecvate pentru utilizarea în programe cu mai multe fire de execuție, în care fiecare fir de execuție trebuie să obțină o secvență independentă și reproductibilă de numere aleatoare. .PP Funcția \fBrandom_r\fP() este ca și \fBrandom\fP(3), cu excepția faptului că, în loc să utilizeze informațiile de stare păstrate într\-o variabilă globală, utilizează informațiile de stare din argumentul indicat de \fIbuf\fP, care trebuie să fi fost inițializat anterior de \fBinitstate_r\fP(). Numărul aleatoriu generat este returnat în argumentul \fIresult\fP. .PP Funcția \fBsrandom_r\fP() este la fel ca \fBsrandom\fP(3), cu excepția faptului că inițializează sămânța pentru generatorul de numere aleatoare a cărui stare este menținută în obiectul indicat de \fIbuf\fP, care trebuie să fi fost inițializat în prealabil de \fBinitstate_r\fP(), în loc de sămânța asociată cu variabila de stare globală. .PP Funcția \fBinitstate_r\fP() este ca \fBinitstate\fP(3), cu excepția faptului că inițializează starea în obiectul indicat de \fIbuf\fP, în loc să inițializeze variabila de stare globală. Înainte de a apela această funcție, câmpul \fIbuf.state\fP trebuie inițializat la NULL. Funcția \fBinitstate_r\fP() înregistrează un indicator la argumentul \fIstatebuf\fP în interiorul structurii indicate de \fIbuf\fP. Astfel, \fIstatebuf\fP nu trebuie să fie eliberat atâta timp cât \fIbuf\fP este încă în uz; (așadar, \fIstatebuf\fP ar trebui să fie alocat de obicei ca o variabilă statică sau să fie alocat pe grămadă cu ajutorul \fBmalloc\fP(3) sau similar). .PP Funcția \fBsetstate_r\fP() este ca \fBsetstate\fP(3), cu excepția faptului că modifică starea din obiectul indicat de \fIbuf\fP, în loc să modifice variabila de stare globală. \fIstate\fP trebuie mai întâi să fi fost inițializat cu \fBinitstate_r\fP() sau să fie rezultatul unui apel anterior al funcției \fBsetstate_r\fP(). .SH "VALOAREA RETURNATĂ" Toate aceste funcții returnează 0 în caz de succes. În caz de eroare, se returnează \-1, cu \fIerrno\fP configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEINVAL\fP O matrice de stare mai mică de 8 octeți a fost specificată la \fBinitstate_r\fP(). .TP \fBEINVAL\fP Argumentul \fIstatebuf\fP sau \fIbuf\fP la \fBsetstate_r\fP() a fost NULL. .TP \fBEINVAL\fP Argumentul \fIbuf\fP sau \fIresult\fP din \fBrandom_r\fP() a fost NULL. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBrandom_r\fP(), \fBsrandom_r\fP(), \fBinitstate_r\fP(), \fBsetstate_r\fP() T} Siguranța firelor MT\-Safe race:buf .TE .sp 1 .SH STANDARDE .\" These functions appear to be on Tru64, but don't seem to be on .\" Solaris, HP-UX, or FreeBSD. GNU. .SH ERORI .\" FIXME . https://sourceware.org/bugzilla/show_bug.cgi?id=3662 Interfața \fBinitstate_r\fP() este confuză. Se pare că tipul \fIrandom_data\fP este menit să fie opac, dar implementarea cere utilizatorului fie să inițializeze câmpul \fIbuf.state\fP la NULL, fie să elimine întreaga structură înainte de apel. .SH "CONSULTAȚI ȘI" \fBdrand48\fP(3), \fBrand\fP(3), \fBrandom\fP(3) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .