drand48(3) Library Functions Manual drand48(3) NOMBRE drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - generan numeros pseudo-aleatorios distribuidos uniformemente BIBLIOTECA Biblioteca Estandar C (libc, -lc) SINOPSIS #include double drand48(void); double erand48(unsigned short xsubi[3]); long lrand48(void); long nrand48(unsigned short xsubi[3]); long mrand48(void); long jrand48(unsigned short xsubi[3]); void srand48(long seedval); unsigned short *seed48(unsigned short seed16v[3]); void lcong48(unsigned short param[7]); Requisitos de Macros de Prueba de Caracteristicas para glibc (vease feature_test_macros(7)): A continuacion se muestran todas las funciones: _XOPEN_SOURCE || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE DESCRIPCION Estas funciones generan numeros seudo-aleatorios usando el algoritmo congruente lineal y artimetica de enteros de 48 bits. Las funciones drand48() y erand48() devuelven valores en coma flotante de doble precision no negativos uniformemente distribuidos entre [0.0, 1.0). Las funciones lrand48() y nrand48() devuelven enteros largos no negativos distribuidos uniformemente en el intervalo [0, 2^31). The mrand48() and jrand48() functions return signed long integers uniformly distributed over the interval [-2^31, 2^31). The srand48(), seed48(), and lcong48() functions are initialization functions, one of which should be called before using drand48(), lrand48(), or mrand48(). The functions erand48(), nrand48(), and jrand48() do not require an initialization function to be called first. Todas las funciones trabajan generando una secuencia de enteros de 48 bits, Xi, de acuerdo a la formula de congruencia lineal: Xn+1 = (aXn + c) mod m, donde n >= 0 El parametro m = 2^48, de aqui que la aritmetica sea de 48 bits. A menos que se llame a lcong48(), a y c son: a = 0x5DEECE66D c = 0xB The value returned by any of the functions drand48(), erand48(), lrand48(), nrand48(), mrand48(), or jrand48() is computed by first generating the next 48-bit Xi in the sequence. Then the appropriate number of bits, according to the type of data item to be returned, is copied from the high-order bits of Xi and transformed into the returned value. Las funciones drand48(), lrand48() y mrand48() guardan el ultimo Xi de 48 bits generado, en un bufr interno. Las funciones erand48(), nrand48() y jrand48() requieren que el programa que las llame proporcione almacenamiento para los sucesivos valores Xi en el argumento vector xsubi. Las funciones se inicializan al colocar el valor inicial de Xi en la cadena antes de llamar a la funcion la primera vez. La funcion inicializadora srand48() asigna los 32 bits de mayor orden de Xi al argumento seedval. Los 16 bits de orden bajo se rellenan con un valor arbitrario 0x330E. La funcion inicializadora seed48() asigna el valor de Xi al valor de 48 bits especificado en el argumento vector seed16v. Los valores anteriores de Xi se copian en un bufer interno y seed48() devuelve un puntero a este bufer interno. La funcion inicializadora lcong48() permite al usuario especificar los valores iniciales para Xi, a y c. En los elementos del argumento vector param[0-2] se especifica Xi, en param[3-5] se especifica a, y en param[6] se especifica c. Despues de llamar a lcong48(), una llamada a srand48() o seed48() puede restaurar los valores estandares de a y c. ATRIBUTOS Para obtener una explicacion de los terminos usados en esta seccion, vease attributes(7). +----------------------------------+--------------------+--------------+ |Interfaz | Atributo | Valor | +----------------------------------+--------------------+--------------+ |drand48(), erand48(), lrand48(), | Seguridad del hilo | MT-Unsafe | |nrand48(), mrand48(), jrand48(), | | race:drand48 | |srand48(), seed48(), lcong48() | | | +----------------------------------+--------------------+--------------+ The above functions record global state information for the random number generator, so they are not thread-safe. ESTANDARES POSIX.1-2008. HISTORIAL POSIX.1-2001, SVr4. VEASE TAMBIEN rand(3), random(3) TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Sebastian Desimone , Gerardo Aburruzaga Garcia y Marcos Fouces Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . Paginas de manual de Linux 6.06 31 Octubre 2023 drand48(3)