Man page - srand48(3)

Packages contains this manual

Available languages:

en fr pt_BR es pl ja ro

Manual

drand48

NOME
BIBLIOTECA
SINOPSE
DESCRIÇÃO
ATRIBUTOS
PADRÕES
HISTÓRICO
VEJA TAMBÉM
TRADUÇÃO

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 sequĂȘncia 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).

Image grohtml-3938609-1.png

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 .