Provided by: manpages-es-dev_4.13-4_all bug

NOMBRE

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

SINOPSIS

       #include <stdlib.h>

       long random(void);

       void srandom(unsigned seed);

       char *initstate(unsigned seed, char *state, size_t n);

       char *setstate(char *state);

   Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):

       random(), srandom(), initstate(), setstate():
           _XOPEN_SOURCE >= 500
               || /* Glibc since 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

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 2^31 - 1.  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.

       The initstate()  function allows a  state  array  state  to  be  initialized  for  use  by
       random().   The  size  of  the  state  array  n  is  used  by  initstate()   to decide how
       sophisticated a random number generator it should use—the  larger  the  state  array,  the
       better  the  random  numbers  will be.  Current "optimal" values for the size of the state
       array n are 8, 32, 64, 128, and 256 bytes; other amounts  will  be  rounded  down  to  the
       nearest  known amount.  Using less than 8 bytes results in an error.  seed is the seed for
       the initialization, which specifies a starting point for the random number  sequence,  and
       provides for restarting at the same point.

       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

       The random()  function returns a value between 0 and (2^31) - 1.  The srandom()   function
       returns no value.

       The  initstate()  function returns a pointer to the previous state array.  On error, errno
       is set to indicate the cause.

       On success, setstate()  returns a pointer to the  previous  state  array.   On  error,  it
       returns NULL, with errno set to indicate the cause of the error.

ERRORES

       EINVAL The state argument given to setstate()  was NULL.

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

ATRIBUTOS

       Para obtener una explicación de los términos usados en esta sección, véase attributes(7).

       ┌────────────────────────┬────────────────────┬───────────────────┐
       │InterfazAtributoValor             │
       ├────────────────────────┼────────────────────┼───────────────────┤
       │random(), srandom(),    │ Seguridad del hilo │ Multi-hilo seguro │
       │initstate(), setstate() │                    │                   │
       └────────────────────────┴────────────────────┴───────────────────┘

CONFORME A

       POSIX.1-2001, POSIX.1-2008, 4.3BSD.

NOTAS

       The  random()   function  should  not be used in multithreaded programs where reproducible
       behavior is required.  Use random_r(3)  for that purpose.

       Random-number generation is  a  complex  topic.   Numerical  Recipes  in  C:  The  Art  of
       Scientific  Computing  (William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T.
       Vetterling; New York: Cambridge University Press, 2007, 3rd ed.)   provides  an  excellent
       discussion of practical random-number generation issues in Chapter 7 (Random Numbers).

       For  a  more  theoretical discussion which also covers many practical issues in depth, see
       Chapter 3 (Random Numbers) in Donald E. Knuth's The Art of Computer Programming, volume  2
       (Seminumerical  Algorithms),  2nd  ed.;  Reading, Massachusetts: Addison-Wesley Publishing
       Company, 1981.

ERRORES

       According  to  POSIX,  initstate()   should  return  NULL  on   error.    In   the   glibc
       implementation,  errno  is  (as  specified) set on error, but the function does not return
       NULL.

VÉASE TAMBIÉN

       getrandom(2), drand48(3), rand(3), random_r(3), srand(3)

COLOFÓN

       Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar  una
       descripción  del  proyecto, información sobre cómo informar errores y la última versión de
       esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

       La traducción al español de esta página del  manual  fue  creada  por  Gerardo  Aburruzaga
       García <gerardo.aburruzaga@uca.es> y Miguel Pérez Ibars <mpi79470@alu.um.es>

       Esta  traducción  es  documentación  libre;  lea  la  GNU General Public License Version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o posterior con respecto a las condiciones  de
       copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción de esta página del manual, envíe un correo
       electrónico a debian-l10n-spanish@lists.debian.org ⟨⟩.