NAZWA¶
drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 -
  generowanie jednolicie rozłożonych liczb pseudolosowych
SKŁADNIA¶
#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¶
 Uwaga! To tłumaczenie może być nieaktualne!
Funkcje te generują liczby pseudolosowe korzystając z liniowego
  algorytmu kongruencyjnego i 48-bitowej arytmetyki liczb całkowitych.
Funkcje 
drand48() i 
erand48() zwracają nieujemne
  zmiennoprzecinkowe wartości podwójnej precyzji równomiernie
  rozłożone w przedziale [0.0, 1.0].
Funkcje 
lrand48() i 
nrand48() zwracają nieujemne
  wartości long integer równomiernie rozłożone w przedziale
  pomiędzy 0 a 2^31.
Funkcje 
mrand48() i 
jrand48() zwracają wartości long
  integer ze znakiem równomiernie rozłożone w przedziale
  pomiędzy -2^31 a 2^31.
Funkcje 
srand48(), 
seed48() i 
lcong48() to funkcje
  inicjujące. Jedna z nich powinna zostać wywołana przed
  użyciem funkcji 
drand48(), 
lrand48() czy 
mrand48().
  Funkcje 
erand48(), 
nrand48() i 
jrand48() nie
  wymagają wcześniejszego wywołania funkcji inicjującej.
Wszystkie te funkcje generują ciąg 48-bitowych liczb całkowitych
  
Xi, według liniowego wzoru kongruencyjnego:
 
Xn+1 = (aXn + c) mod m, gdzie n >= 0
 
 
Parametr 
m = 2^48, jako że korzystamy z 48-bitowej arytmetyki.
  Jeśli nie wywołano 
lcong48(), 
a i 
c są
  zadane jako:
 
 
Wartość zwracana przez każdą z funkcji 
drand48(),
  
erand48(), 
lrand48(), 
nrand48(), 
mrand48() czy
  
jrand48() jest obliczana poprzez wygenerowanie następnego
  48-bitowego 
Xi z ciągu, a następnie skopiwanie odpowiedniej
  ilości bardziej znaczących bitów 
Xi, zależnej od
  zwracanego typu danych, i przekształcenie ich w zwracaną
  wartość.
Funkcje 
drand48(), 
lrand48() i 
mrand48() przechowują
  ostatnią 48-bitową wartość 
Xi w wewnętrznym
  buforze. Funkcje 
erand48(), 
nrand48() i 
jrand48()
  wymagają od wywołującego je programu zapawnienia miejsca dla
  kolejnych wartości 
Xi w tablicy 
xsubi podanej jako
  argument. Te funkcje są inicjowane poprzez umieszczenie w tablicy
  początkowych wartości 
Xi przed pierwszym wywołaniem
  funkcji.
Funkcja inicjująca 
srand48() wpisuje wartość argumentu
  
seedval do 
Xi, ustawiając 32 bardziej znaczące bity.
  Mniej znaczącym 16 bitom zawsze nadawana jest wartość 0x330E.
Funkcja inicjująca 
seed48() zmienia wartość 
Xi na
  48-bitową wartość podana w tablicy 
seed16v. Poprzednia
  wartość 
Xi jest kopiowana do wewnętrznego bufora, a
  wskaźnik do tego bufora jest zwracany przez funkcję 
seed48().
Funkcja inicjująca 
lcong48() pozwala określić
  początkowe wartości dla 
Xi, 
a oraz 
c. Elementy
  tablicy 
param[0-2] określają 
Xi, 
param[3-5]
  określają 
a, a 
param[6] określa 
c. Po
  wywołaniu 
lcong48() każde następne wywołanie
  
srand48() czy 
seed48() przywróci standardowe wartości
  
a i 
c.
ZGODNE Z¶
SVID 3
UWAGI¶
Te funkcje są uznane przez SVID 3 za przestarzałe, zamiast nich
  powinna być używana funkcja 
rand(3).
ZOBACZ TAKŻE¶
rand(3), 
random(3)
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
  Tłumaczenia Manuali i 
może nie być aktualne. W razie
  zauważenia różnic między powyższym opisem a
  rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
  zapoznanie się z oryginalną (angielską) wersją strony
  podręcznika za pomocą polecenia:
  
  - man --locale=C 3 drand48
 
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
  znaleźć pod adresem
  
http://sourceforge.net/projects/manpages-pl/.