Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48,
lcong48 - generowanie jednolicie rozloonych liczb pseudolosowych
SK/LADNIA
#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]);
OPIS
Funkcje te generuj liczby pseudolosowe korzystajc z liniowego algorytmu
kongruencyjnego i 48-bitowej arytmetyki liczb calkowitych.
Funkcje drand48() i erand48() zwracaj nieujemne zmiennoprzecinkowe
wartoci podwojnej precyzji rownomiernie rozloone w przedziale [0.0,
1.0].
Funkcje lrand48() i nrand48() zwracaj nieujemne wartoci long integer
rownomiernie rozloone w przedziale pomidzy 0 a 2^31.
Funkcje mrand48() i jrand48() zwracaj wartoci long integer ze znakiem
rownomiernie rozloone w przedziale pomidzy -2^31 a 2^31.
Funkcje srand48(), seed48() i lcong48() to funkcje inicjujce. Jedna z
nich powinna zosta wywolana przed uyciem funkcji drand48(), lrand48()
czy mrand48(). Funkcje erand48(), nrand48() i jrand48() nie wymagaj
wczeniejszego wywolania funkcji inicjujcej.
Wszystkie te funkcje generuj cig 48-bitowych liczb calkowitych Xi,
wedlug liniowego wzoru kongruencyjnego:
Xn+1 = (aXn + c) mod m, gdzie n >= 0
Parametr m = 2^48, jako e korzystamy z 48-bitowej arytmetyki. Jeli nie
wywolano lcong48(), a i c s zadane jako:
a = 0x5DEECE66D
c = 0xB
Warto zwracana przez kad z funkcji drand48(), erand48(), lrand48(),
nrand48(), mrand48() czy jrand48() jest obliczana poprzez wygenerowanie
nastpnego 48-bitowego Xi z cigu, a nastpnie skopiwanie odpowiedniej
iloci bardziej znaczcych bitow Xi, zalenej od zwracanego typu danych, i
przeksztalcenie ich w zwracan warto.
Funkcje drand48(), lrand48() i mrand48() przechowuj ostatni 48-bitow
warto Xi w wewntrznym buforze. Funkcje erand48(), nrand48() i jrand48()
wymagaj od wywolujcego je programu zapawnienia miejsca dla kolejnych
wartoci Xi w tablicy xsubi podanej jako argument. Te funkcje s
inicjowane poprzez umieszczenie w tablicy pocztkowych wartoci Xi przed
pierwszym wywolaniem funkcji.
Funkcja inicjujca srand48() wpisuje warto argumentu seedval do Xi,
ustawiajc 32 bardziej znaczce bity. Mniej znaczcym 16 bitom zawsze
nadawana jest warto 0x330E.
Funkcja inicjujca seed48() zmienia warto Xi na 48-bitow warto podana w
tablicy seed16v. Poprzednia warto Xi jest kopiowana do wewntrznego
bufora, a wskanik do tego bufora jest zwracany przez funkcj seed48().
Funkcja inicjujca lcong48() pozwala okreli pocztkowe wartoci dla Xi, a
oraz c. Elementy tablicy param[0-2] okrelaj Xi, param[3-5] okrelaj a, a
param[6] okrela c. Po wywolaniu lcong48() kade nastpne wywolanie
srand48() czy seed48() przywroci standardowe wartoci a i c.
ZGODNE Z
SVID 3
UWAGI
Te funkcje s uznane przez SVID 3 za przestarzale, zamiast nich powinna
by uywana funkcja rand(3).
ZOBACZ TAKE
rand(3), random(3)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.
1993-07-02 DRAND48(3)