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¶
Uwaga! To tłumaczenie może być nieaktualne!
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)
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 random
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.