Definition | #include <stdlib.h> char *initstate(unsigned int seed, char *state, size_t size); long random(void); char *setstate(const char *state); void srandom(unsigned int seed); | |
Beschreibung |
Bei 256 Byte Status-Information ist die Periode des Zufallszahlengenerators größer als 269. Ebenso wie
Die Funktionen Wenn Nachdem ein Status initialisiert wurde, ermöglicht die Funktion weiterer Zufallszahlen bis zum nächsten Aufruf von
| |
Returnwert |
Pseudo-Zufallszahl | |
Die Funktion ist immer erfolgreich. | ||
Zeiger auf den vorherigen Statusvektor | ||
bei Erfolg. | ||
| Nullzeiger | bei Fehler |
Hinweis | Nachdem ein Statusvektor initialisiert wurde, kann er an anderer Stelle neu gestartet werden:
| |
Beispiel | Mit den folgenden Anweisungen wird ein Statusvektor initialisiert, an static long state1[32] =
{ 3, 0x9a319039, 0x32d9c024, 0x9b663182, 0x5da1f342,
0x7449e56b, 0xbeb1dbb0, 0xab5c5918, 0x946554fd, 0x8c2e680f, 0xeb3d799f,
0xb11ee0b7, 0x2d436b86, 0xda672e2a, 0x1588ca88, 0xe369735d, 0x904f35f7,
0xd7158fd6, 0x6fa6f051, 0x616e6b96, 0xac94efdc, 0xde3b81e0, 0xdf0a6fb5,
0xf103bc02, 0x48f340fb, 0x36413f93, 0xc622c298, 0xf5a42ab8, 0x8a88d77b,
0xf5ad9d0e, 0x8999220b, 0x27fb47b9 };
main()
{
unsigned seed;
int n;
seed = 1;
n = 128;
initstate(seed, state1, n);
setstate(state1);
printf("%d", random());
}
| |
Siehe auch drand48(), rand(), rand_r(), srand(), stdlib.h.