Provided by: manpages-es_1.55-10_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)