Provided by: manpages-es_1.55-10_all bug

NOMBRE

       drand48,  erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48,
       lcong48 - generan numeros seudo-aleatorios distribuidos uniformemente

SINOPSIS

       #include <stdlib.h>

       double drand48(void);

       double erand48(unsigned short xsubi[3]);

       long int lrand48(void);

       long int nrand48(unsigned short xsubi[3]);

       long int mrand48(void);

       long int jrand48(unsigned short xsubi[3]);

       void srand48(long int seedval);

       unsigned short *seed48(unsigned short seed16v[3]);

       void lcong48(unsigned short param[7]);

DESCRIPCI'ON

       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 entre 0 y 2^31.

       Las funciones mrand48() y jrand48() devuelven enteros largos con  signo
       distribuidos uniformemente entre -2^31 y 2^31.

       Las   funciones  srand48(),  seed48()  y  lcong48()  son  funciones  de
       inicializacion, una de las  cuales  debe  ser  llamada  antes  de  usar
       drand48(),  lrand48() o mrand48(). Las funciones erand48(), nrand48() y
       jrand48() no requieren que una funcion de  inicializacion  sea  llamada
       primero.

       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

       El valor devuelto por cualquiera de las funciones drand48(), erand48(),
       lrand48(), nrand48(), mrand48() o jrand48()  es  calculado  primero  al
       generar  el proximo Xi de 48 bits en la secuencia. Entonces se copia el
       numero apropiado de bits, de acuerdo al tipo de dato  a  ser  devuelto,
       desde  los  bits  de  mayor  orden  de Xi, y se transforman en el valor
       devuelto.

       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.

CONFORME A

       SVID 3

OBSERVACIONES

       Estas  funciones  estan  declaradas como obsoletas por SVID 3, que dice
       que en su lugar debe emplearse la funcion rand(3).

V'EASE TAMBI'EN

       rand(3), random(3)

                                 21 Enero 1995                      DRAND48(3)