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)

GNU                                              20 agosto 2000                                        RANDOM(3)