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