Provided by:
manpages-pl-dev_20060617-1_all 
NAZWA
random, srandom, initstate, setstate - generator liczb losowych
SKŁADNIA
#include <stdlib.h>
long int random(void);
void srandom(unsigned int seed);
char *initstate(unsigned int seed, char *state, size_t n);
char *setstate(char *state);
OPIS
Funkcja random() korzysta z generatora liczb losowych opartego na
nieliniowych addytywnych przesunięciach, stosującego domyślną tablicę o
rozmiarze 31 długich liczb całkowitych do zwracania kolejnych liczb
pseudolosowych z zakresu pomiędzy 0 a RAND_MAX. Okres tego generatora
liczb losowych jest bardzo duży, wynosi około 16*((2**31)-1).
Funkcja srandom() ustawia swój argument jako wartość początkową dla
nowego ciągu pseudolosowych liczb całkowitych zwracanych przez
random(). Ciągi te są powtarzalne poprzez wywołanie srandom() z tą
samą wartością początkową. Jeśli nie podano wartości początkowej,
funkcja random() automatycznie ustawia tę wartość na 1.
Funkcja initstate() pozwala na inicjalizację tablicy stanów state w
celu wykorzystania jej przez random(). initstate() wykorzystuje rozmiar
tablicy stanów n do podjęcia decyzji o tym, jakiego wymyślnego
generatora liczb losowych powinna używać -- im większa tablica stanów,
tym lepszy będzie generator liczb losowych. seed jest wartością
początkową dla inicjalizacji, która określa punkt startu ciągu
generatora liczb losowych oaz zapewnia restart w tym samym punkcie.
Funkcja setstate() zmienia tablicę stanów wykorzystywaną przez funkcję
random(). Tablica stanu state jest używana do generacji liczb losowych
aż do następnego wywołania initstate() lub setstate(). state musi być
uprzednio zainicjalizowana za pomocą initstate() lub być wynikiem
wcześniejszego wywołania setstate().
WARTOŚĆ ZWRACANA
Funkcja random() zwraca wartości pomiędzy 0 a RAND_MAX. Funkcja
srandom() nie zwraca żadnej wartości. Funkcje initstate() i setstate()
zwracają wskaźnik do poprzedniej tablicy stanów lub NULL w przypadku
błędu.
BŁĘDY
EINVAL Podano mniejszą niż 8-bajtową tablicę stanów dla initstate().
UWAGI
Obecnie "optymalnymi" wartościami dla rozmiaru tablicy stanów n są 8,
32, 64, 128 i 256 bajtów; inne wartości będą zaokrąglane w dół do
najbliższej znanej wartości. Użycie mniej niż 8 bajtów spowoduje błąd.
ZGODNE Z
BSD 4.3
ZOBACZ TAKŻE
rand(3), srand(3)