Rechercher une page de manuel
random
Langue: pl
Version: 2000-08-20 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
NAZWA
random, srandom, initstate, setstate - generator liczb losowychSK£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.3ZOBACZ TAK¯E
rand(3), srand(3)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre