*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> random (3)              
Title
Content
Arch
Section
 

RANDOM(3)

Contents


NAME    [Toc]    [Back]

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

SYNOPSIS    [Toc]    [Back]

       #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    [Toc]    [Back]

       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 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() or be the result of a  previous
       call of setstate().

RETURN VALUE    [Toc]    [Back]

       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    [Toc]    [Back]

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

NOTES    [Toc]    [Back]

       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    [Toc]    [Back]

       BSD 4.3

SEE ALSO    [Toc]    [Back]

      
      
       rand(3), srand(3)



GNU				  2000-08-20			     RANDOM(3)
[ Back ]
 Similar pages
Name OS Title
srand FreeBSD bad random number generator
rand_r OpenBSD bad random number generator
srand OpenBSD bad random number generator
rand_r NetBSD bad random number generator
rand OpenBSD bad random number generator
rand FreeBSD bad random number generator
rand NetBSD bad random number generator
sranddev FreeBSD bad random number generator
rand_r FreeBSD bad random number generator
srand NetBSD bad random number generator
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service