Provided by: manpages-pl-dev_20060617-3_all bug

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)