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)