Provided by: manpages-pt-dev_20040726-5_all bug

NAME

       random, srandom, initstate, setstate - random number generator.

SYNOPSIS

       #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);

DESCRIPTION

       The  random()  function  uses  a non-linear additive feedback random number generator employing a default
       table of size 31 long integers to return  successive  pseudo-random  numbers  in  the  range  from  0  to
       RAND_MAX.  The period of this random number generator is very large, approximately 16*((2**31)-1).

       The  srandom()  function sets its argument as the seed for a new sequence of pseudo-random integers to be
       returned by random().  These sequences are repeatable by calling srandom() with the same seed value.   If
       no seed value is provided, the random() function is automatically seeded with a value of 1.

       The  initstate()  function allows a state array state to be initialized for use by random().  The size of
       the state array n is used by initstate() to decide how sophisticated a random number generator it  should
       use  —  the  larger  the  state  array,  the better the random numbers will be.  seed is the seed for the
       initialization, which specifies a starting point  for  the  random  number  sequence,  and  provides  for
       restarting at the same point.

       The  setstate() function changes the state array used by the random() function.  The state array state is
       used for random number generation until the next call to initstate() or  setstate().   state  must  first
       have been initialized using initstate().

RETURN VALUE

       The  random()  function returns a value between 0 and RAND_MAX.  The srandom() function returns no value.
       The initstate() and setstate() functions return a pointer to the previous state array.

ERRORS

       EINVAL A state array of less than 8 bytes was specified to initstate().

NOTES

       Current "optimal" values for the size of the state array n are 8, 32,  64,  128,  and  256  bytes;  other
       amounts will be rounded down to the nearest known amount.  Using less than 8 bytes will cause an error.

CONFORMING TO

       BSD 4.3

SEE ALSO

       rand(3), srand(3)

GNU                                              March 28, 1993                                        RANDOM(3)