RANDOM(3) Linux Programmer’s Manual RANDOM(3)
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-ran-
dom numbers in the range from 0 to RAND_MAX. The period of this random number gen-
erator 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 ran-
dom() 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 init-
state() or setstate(). state must first have been initialized using initstate() or
be the result of a previous call of setstate().
RETURN VALUE
The random() function returns a value between 0 and RAND_MAX. The srandom() func-
tion returns no value. The initstate() and setstate() functions return a pointer
to the previous state array, or NULL on error.
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 2000-08-20 RANDOM(3)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2009-01-10 11:20 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)