Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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-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	 init-
       state() 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	start-
       ing 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() 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() function 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 near-
       est 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)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | NOTES | CONFORMING TO | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=random&sektion=3&manpath=Red+Hat+9>

home | help