Provided by: manpages-pt-br-dev_4.23.1-1_all bug

NOME

       drand48,   erand48,  lrand48,  nrand48,  mrand48,  jrand48,  srand48,  seed48,  lcong48  -  gera  números
       pseudo-randômicos distribuidos uniformemente

BIBLIOTECA

       Biblioteca C Padrão (libc, -lc)

SINOPSE

       #include <stdlib.h>

       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 macro de teste de recursos para o glibc (consulte feature_test_macros(7)):

       Todas as funções mostradas acima:
           _XOPEN_SOURCE
               || /* glibc >= 2.19: */ _DEFAULT_SOURCE
               || /* glibc <= 2.19: */ _SVID_SOURCE

DESCRIÇÃO

       Essas funções geram números pseudo-randômicos usando o  algoritmo  de  congruência  linear  e  aritmética
       inteira de 48-bit.

       The  drand48()   and  erand48()   functions  return  nonnegative  double-precision  floating-point values
       uniformly distributed over the interval [0.0, 1.0).

       The lrand48()  and nrand48()  functions return nonnegative long integers uniformly distributed  over  the
       interval [0, 2^31).

       The  mrand48()   and  jrand48()   functions  return  signed  long integers uniformly distributed over the
       interval [-2^31, 2^31).

       As funções srand48(), seed48() e lcong48() são funções de inicialização, as quais deve ser chamadas antes
       do uso de drand48(), lrand48() ou mrand49(). As funções erand48(), nrand48() e jrand48() não  requerem  a
       chamada da função de inicialização primeiro.

       Todas  as  funções  trabalham  gerando  uma  sequencia de inteiros 48-bit, Xi, de acordo com a formula de
       congruência linear:

           Xn+1 = (aXn + c) mod m, onde n >= 0

       O parâmetro m = 2^48, portanto uma aritmética de inteiro 48-bit é realizada.A não ser que lcong48()  seja
       chamada, a e c são obtidos por:

           a = 0x5DEECE66D
           c = 0xB

       O  valor  retornado por qualquer uma das funções drand48(), erand48(), lrand48(), nrand48(), mrand48() ou
       jrand48() é computado para primeira geração do próximo 48-bit Xi na sequência. Então, o número apropriado
       de bits, de acordo com o tipo de item de dado a ser retornado, é copiado dos bits de mais alta  ordem  de
       Xi e transformado no valor retornado.

       As  funções drand48(), lrand48() e mrand48() armazenam o último 48-bit Xi gerado em um buffer interno. As
       funções erand48(), nrand48() e jrand48() requerem que o programa chamador providencie armazenamento  para
       os  valores  sucessivos  de  Xi  no argumento vetor xsubi. As funções são inicializadas pela colocação do
       valor inicial de Xi no vetor antes da primeira chamada as funções.

       A função de inicialização srand48() ajusta os 32-bits de mais alta ordem de Xi para o argumento  seedval.
       Os 16-bits de mais baixa ordem são ajustados arbitrariamente para o valor 0x330E.

       A função de inicialização seed48() seta o valor de Xi para o valor 48-bit especificado no argumento vetor
       seed16v. O valor anterior de Xi é copiado em um buffer interno e um ponteiro para esse buffer é retornado
       por seed48().

       A  função  de  inicialização  lcong48() permite ao usuário 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.
       Após  a  chamada  de  lcong48(), uma chamada subsequente a srand48() ou seed48() irá restaurar os valores
       padrão de a e c.

ATRIBUTOS

       Para uma explicação dos termos usados nesta seção, consulte attributes(7).
       ┌──────────────────────────────────────────────────────────────┬───────────────┬────────────────────────┐
       │ InterfaceAtributoValor                  │
       ├──────────────────────────────────────────────────────────────┼───────────────┼────────────────────────┤
       │ drand48(), erand48(), lrand48(), nrand48(), mrand48(),       │ Thread safety │ MT-Unsafe race:drand48 │
       │ jrand48(), srand48(), seed48(), lcong48()                    │               │                        │
       └──────────────────────────────────────────────────────────────┴───────────────┴────────────────────────┘

       The above functions record global state information for the random number  generator,  so  they  are  not
       thread-safe.

PADRÕES

       POSIX.1-2008.

HISTÓRICO

       POSIX.1-2001, SVr4.

VEJA TAMBÉM

       rand(3), random(3)

TRADUÇÃO

       A   tradução   para   português   brasileiro  desta  página  man  foi  criada  por  Marcelo  D.  Beckmann
       <marcelobeckmann@yahoo.com> e André Luiz Fassone <lonely_wolf@ig.com.br>

       Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou  posterior  para  as
       condições de direitos autorais.  Nenhuma responsabilidade é aceita.

       Se  você  encontrar  algum  erro  na  tradução  desta  página  de manual, envie um e-mail para a lista de
       discussão de tradutores.

Linux man-pages 6.8                                2 maio 2024                                        drand48(3)