Provided by:
manpages-pt-dev_20040726-4_all 
NOME
drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48,
lcong48 - gera numeros pseudo-randomicos distribuidos uniformemente
SINOPSE
#include <stdlib.h>
double drand48(void);
double erand48(unsigned short int xsubi[3]);
long int lrand48(void);
long int nrand48(unsigned short int xsubi[3]);
long int mrand48(void);
long int jrand48(unsigned short int xsubi[3]);
void srand48(long int seedval);
unsigned short int *seed48(unsignedshortint seed16v [3]);
void lcong48(unsigned short int param[7]);
DESCRI,C~AO
Essas funcoes geram numeros pseudo-randomicos usando o algoritmo de
congruencia linear e aritmetica inteira de 48-bit.
As funcoes drand48() e erand48() retornam inteiros longos nao-negativos
distribuidos uniformemente entre [0.0, 1.0).
As funcoes lrand48() e nrand48() retornam inteiros longos nao-negativos
distribuidos uniformemente entre 0 e 2^31.
As funcoes mrand48() e jrand48() retornam inteiros longos com sinal
distribuidos uniformemente entre -2^31 and 2^31.
As funcoes srand48(), seed48() e lcong48() sao funcoes de
inicializacao, as quais deve ser chamadas antes do uso de drand48(),
lrand48() ou mrand49(). As funcoes erand48(), nrand48() e jrand48()
nao requerem a chamada da funcao de inicializacao primeiro.
Todas as funcoes trabalham gerando uma sequencia de inteiros 48-bit,
Xi, de acordo com a formula de congruencia linear:
Xn+1 = (aXn + c) mod m, onde n >= 0
O parametro m = 2^48, portanto uma aritmetica de inteiro 48-bit e
realizada. A nao ser que lcong48() seja chamada, a e c sao obtidos
por:
a = 0x5DEECE66D
c = 0xB
O valor retornado por qualquer uma das funcoes drand48(), erand48(),
lrand48(), nrand48(), mrand48() ou jrand48() e computado para primeira
geracao do proximo 48-bit Xi na sequencia. Entao, o numero apropriado
de bits, de acordo com o tipo de item de dado a ser retornado, e
copiado dos bits de mais alta ordem de Xi e transformado no valor
retornado.
As funcoes drand48(), lrand48() e mrand48() armazenam o ultimo 48-bit
Xi gerado em um buffer interno. As funcoes erand48(), nrand48() e
jrand48() requerem que o programa chamador providencie armazenamento
para os valores sucessivos de Xi no argumento vetor xsubi. As funcoes
sao inicializadas pela colocacao do valor inicial de Xi no vetor antes
da primeira chamada as funcoes.
A funcao de inicializacao srand48() ajusta os 32-bits de mais alta
ordem de Xi para o argumento seedval. Os 16-bits de mais baixa ordem
sao ajustados arbitrariamente para o valor 0x330E.
A funcao de inicializacao seed48() seta o valor de Xi para o valor
48-bit especificado no argumento vetor seed16v. O valor anterior de Xi
e copiado em um buffer interno e um ponteiro para esse buffer e
retornado por seed48().
A funcao de inicializacao lcong48() permite ao usuario especificar
valores iniciais para Xi, a e c. O elemento param[0-2] do argumento
vetor especifica Xi, param[3-5] especifica a, e param[6] especifica c.
Apos a chamada de lcong48(), uma chamada subsequente a srand48() ou
seed48() ira restaurar os valores padrao de a e c.
CONFORMIDADE
SVID 3
NOTAS
Essas funcoes sao declaradas obsoletas por SVID 3, o qual indica que
rand(3) deve ser usado em seu lugar.
VEJA TAMB'EM
rand(3), random(3)
TRADUZIDO POR LDP-BR em 21/08/2000.
Marcelo D. Beckmann <marcelobeckmann@yahoo.com> (traducao) Espaco para
o Revisor <nome@dominio.com.br> (revisao)
2 Julho 1993 DRAND48(3)