Provided by: manpages-de-dev_0.5-4.1ubuntu1_all bug

BEZEICHNUNG

       random, srandom, initstate, setstate - Zufallszahlengenerator.

ÜBERSICHT

       #include <stdlib.h>

       long int random(void);
       void srandom(unsigned int seed);
       char *initstate(unsigned int seed, char *state, int n);
       char *setstate(char *state);

BESCHREIBUNG

       Die random()-Funktion benutzt einen Zufallsgenerator mit nicht-linearem
       additiven Feedback mit einer vorgegebenen  Tabellengröße  von  31  long
       integers um aufeinanderfolgende Pseudozufallszahlen im Rahmen von 0 bis
       RAND_MAX zurückzugeben.  Die Periode dieses Zufallszahlengenerators ist
       sehr groß, ungefähr 16*((2**31)-1).

       Die  Funktion  srandom()  setzt ihr Argument als Ursprung für eine neue
       Folge  von  Pseudozufalls-Ganzzahlen,  welche  von  random()  geliefert
       werden.   Diese Folgen sind wiederholbar durch Aufruf von srandom() mit
       dem gleichen Ursprungswert.  Wenn keine  Ursprungswert  angegeben  wird
       random() automatisch mit dem Ursprungswert 1 gestartet.

       Die  Funktion  initstate()  erlaubt  es, ein Zustandsfeld state für den
       Gebrauch  durch  random()  zu  initialisieren.    Die   Größe   n   des
       Zustandsfeldes  wird  von  initstate()  benutzt,  um zu entscheiden wie
       differenziert es ein Zufallszahlengenerator benutzen soll —  je  größer
       das   Zustandsfeld,   desto  besser  die  Zufallszahlen  seed  ist  der
       Ursprungswert für die Initialisierung, welcher den Startpunkt  für  den
       Zufallszahlenfolge  angibt  und  sicherstellt  zum  erneuten Starten am
       gleichen Punkt.

       Die Funktion  setstate()  ändert  das  Zustandsfeld,  welches  von  der
       Funktion  random()  benutzt  wird.   Das  Zustandsfeld  state  wird zum
       Erzeugen  der  Zufallszahlen  benutzt  bis  zum  nächsten  Aufruf   von
       initstate()  oder  setstate().   state muss zuerst initialisiert werden
       durch Benutzen von initstate().

RÜCKGABEWERT

       Die Funktion random() liefert einen Wert zwischen 0 und RAND_MAX.   Die
       Funktion   srandom()   liefert  keinen  Wert  zurück.   Die  Funktionen
       initstate() und setstate()  liefert  einen  Zeiger  auf  das  vorherige
       Zustandsfeld.

FEHLER

       EINVAL Ein  Zustandsfeld  von  weniger  als 8 Byte wurde an initstate()
              übergeben.

BEMERKUNGEN

       Aktuelle "optimale" Werte für die Größe n des  Zustandsfeldes  sind  8,
       32,  64,  128  und  256  Byte;  andere  Werte werden abgerundet auf den
       nächsten bekannten Wert.  Verwendung von weniger  als  8  Byte  erzeugt
       einen Fehler.

KONFORM ZU

       BSD 4.3

SIEHE AUCH

       rand(3), srand(3).