.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 19:46:03 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH drand48 3 "20 iulie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME drand48, erand48, lrand48, nrand48, mrand48, mrand48, jrand48, srand48, seed48, lcong48 \- generează numere pseudo\-aleatorii distribuite uniform .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBdouble drand48(void);\fP \fBdouble erand48(unsigned short \fP\fIxsubi\fP\fB[3]);\fP .PP \fBlong lrand48(void);\fP \fBlong nrand48(unsigned short \fP\fIxsubi\fP\fB[3]);\fP .PP \fBlong mrand48(void);\fP \fBlong jrand48(unsigned short \fP\fIxsubi\fP\fB[3]);\fP .PP \fBvoid srand48(long \fP\fIseedval\fP\fB);\fP \fBunsigned short *seed48(unsigned short \fP\fIseed16v\fP\fB[3]);\fP \fBvoid lcong48(unsigned short \fP\fIparam\fP\fB[7]);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP .\" .BR drand48 (), .\" .BR erand48 (), .\" .BR lrand48 (), .\" .BR nrand48 (), .\" .BR mrand48 (), .\" .BR jrand48 (), .\" .BR srand48 (), .\" .BR seed48 (), .\" .BR lcong48 (): Toate funcțiile prezentate mai sus: .nf _XOPEN_SOURCE || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE .fi .SH DESCRIERE Aceste funcții generează numere pseudo\-aleatorii folosind algoritmul de congruență liniară și aritmetica numerelor întregi pe 48 de biți. .PP Funcțiile \fBdrand48\fP() și \fBerand48\fP() returnează valori în virgulă mobilă de precizie dublă nenegativă distribuite uniform în intervalul [0,0,\ 1,0]. .PP Funcțiile \fBlrand48\fP() și \fBnrand48\fP() returnează numere întregi lungi nenegative distribuite uniform în intervalul [0,\ 2\[ha]31). .PP Funcțiile \fBmrand48\fP() și \fBjrand48\fP() returnează numere întregi lungi semnate distribuite uniform în intervalul [\-2\[ha]31,\ 2\[ha]31]. .PP Funcțiile \fBsrand48\fP(), \fBseed48\fP() și \fBlcong48\fP() sunt funcții de inițializare, dintre care una trebuie apelată înainte de a utiliza \fBdrand48\fP(), \fBlrand48\fP() sau \fBmrand48\fP(). Funcțiile \fBerand48\fP(), \fBnrand48\fP() și \fBjrand48\fP() nu necesită apelarea mai întâi a unei funcții de inițializare. .PP Toate funcțiile funcționează prin generarea unei secvențe de numere întregi de 48 de biți, \fIXi\fP, în conformitate cu formula congruentă liniară: .PP .in +4n .EX \fBXn+1 = (aXn + c) mod m, unde n >= 0\fP .EE .in .PP Parametrul \fIm\fP = 2\[ha]48, prin urmare, se efectuează aritmetica numerelor întregi pe 48 de biți. Dacă nu se apelează \fBlcong48\fP(), \fIa\fP și \fIc\fP sunt date de: .PP .in +4n .EX \fBa = 0x5DEECE66D\fP \fBc = 0xB\fP .EE .in .PP Valoarea returnată de oricare dintre funcțiile \fBdrand48\fP(), \fBerand48\fP(), \fBlrand48\fP(), \fBnrand48\fP(), \fBmrand48\fP() sau \fBjrand48\fP() este calculată prin generarea mai întâi a următorului \fIXi\fP pe 48 de biți din secvență. Apoi, numărul corespunzător de biți, în funcție de tipul elementului de date care urmează să fie returnat, este copiat de la biții de ordin înalt din \fIXi\fP și transformat în valoarea returnată. .PP Funcțiile \fBdrand48\fP(), \fBlrand48\fP() și \fBmrand48\fP() stochează ultimul \fIXi\fP pe 48 de biți generat într\-o memorie tampon internă. Funcțiile \fBerand48\fP(), \fBnrand48\fP() și \fBjrand48\fP() solicită programului apelant să asigure stocarea valorilor \fIXi\fP succesive în argumentul de matrice \fIxsubi\fP. Funcțiile sunt inițializate prin introducerea valorii inițiale a \fIXi\fP în matrice înainte de a apela funcția pentru prima dată. .PP Funcția de inițializare \fBsrand48\fP() stabilește cei 32 de biți de ordin superior din \fIXi\fP la argumentul \fIseedval\fP. Cei 16 biți de ordin inferior sunt fixați la valoarea arbitrară 0x330E. .PP Funcția de inițializare \fBseed48\fP() stabilește valoarea lui \fIXi\fP la valoarea pe 48 de biți specificată în argumentul de matrice \fIseed16v\fP. Valoarea anterioară a lui \fIXi\fP este copiată într\-o memorie tampon internă, iar \fBseed48\fP() returnează un indicator la această memorie tampon. .PP Funcția de inițializare \fBlcong48\fP() permite utilizatorului să specifice valorile inițiale pentru \fIXi\fP, \fIa\fP și \fIc\fP. Elementele de argument ale matricei \fIparam[0\-2]\fP specifică \fIXi\fP, \fIparam[3\-5]\fP specifică \fIa\fP, iar \fIparam[6]\fP specifică \fIc\fP. După ce \fBlcong48\fP() a fost apelată, un apel ulterior fie la \fBsrand48\fP(), fie la \fBseed48\fP() va restabili valorile standard ale \fIa\fP și \fIc\fP. .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 \fBdrand48\fP(), \fBerand48\fP(), \fBlrand48\fP(), \fBnrand48\fP(), \fBmrand48\fP(), \fBjrand48\fP(), \fBsrand48\fP(), \fBseed48\fP(), \fBlcong48\fP() T} Siguranța firelor T{ .na .nh MT\-Unsafe race:drand48 T} .TE .sp 1 .PP Funcțiile de mai sus înregistrează informații de stare globală pentru generatorul de numere aleatoare, deci nu sunt sigure pentru fire de execuție. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001, SVr4. .SH "CONSULTAȚI ȘI" \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 .