Provided by: manpages-es_1.55-8_all bug

NOMBRE

       random, srandom, initstate, setstate - generador de números aleatorios.

SINOPSIS

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

DESCRIPCIÓN

       La  función  random()  emplea  un  generador  no  lineal  aditivo   con
       retroalimentación   de   números   aleatorios   utilizando   una  tabla
       predeterminada de 31  enteros  largos  para  devolver  números  pseudo-
       aleatorios  sucesivos  en el rango de 0 a RAND_MAX.  El periodo de este
       generador  de  números  aleatorios  es  muy   grande,   aproximadamente
       16*((2**31)-1).

       La  función  srandom()  establece  su  argumento como la semilla de una
       nueva secuencia de enteros seudo-aleatorios  que  serán  devueltos  por
       random()  en  secuencia.  Estas secuencias son repetibles si se llama a
       srandom() con el mismo valor para la  semilla.  Si  no  se  proporciona
       ninguna  semilla,  porque  no se llama a srandom(), la función random()
       automáticamente asume una semilla de valor 1.

       La función initstate() permite inicializar un vector de estado, estado,
       para  el uso por parte de random().  El tamaño del vector de estado, n,
       es usado por initstate() para decidir  cuán  sofisticado  debe  ser  el
       generador de números aleatorios que debería usar: cuanto más grande sea
       el vector de estado, más aleatorios serán  los  números.  El  argumento
       semilla  es  la semilla para la inicialización, que especifica un punto
       de arranque para la secuencia de números  aleatorios,  y  hace  posible
       recomenzar en el mismo punto.

       La  función  setstate() cambia el vector de estado usado por la función
       random().  El vector de estado, estado, se usa para  la  generación  de
       números   aleatorios   hasta  la  siguiente  llamada  a  initstate()  o
       setstate().  El argumento estado debe haber sido  inicializado  primero
       mediante  initstate()  o  ser  el  resultado  de  una  llamada previa a
       setstate().

VALOR DEVUELTO

       La función random() devuelve un valor entre 0 y RAND_MAX.   La  función
       srandom()  no  devuelve  nada.  Las  funciones initstate() y setstate()
       devuelven un puntero al vector de estado anterior, o NULL  en  caso  de
       error.

ERRORES

       EINVAL Se  ha especificado un vector de estado de menos de 8 bytes para
              initstate().

OBSERVACIONES

       Los valores actuales "óptimos" para el tamaño del vector de estado,  n,
       son 8, 32, 64, 128, y 256 bytes; otras cantidades serán redondeadas por
       abajo hasta la cantidad conocida más cercana. Utilizar menos de 8 bytes
       producirá un error.

CONFORME A

       BSD 4.3

VÉASE TAMBIÉN

       rand(3), srand(3)