Документация по LinuxLinuxDoc.Ru 🔍

drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - генерируют равномерно распределенные псевдослучайные числа

НАЗВАНИЕ
drand48, erand48, lrand48, nrand48, mrand48, jrand48,
srand48, seed48, lcong48 - генерируют равномерно
распределенные псевдослучайные числа

СИНТАКСИС
#include

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 seedval);

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

void lcong48(unsigned short param[7]);

ОПИСАНИЕ

Эти функции генерируют псевдослучайные числа, используя
линейный алгоритм и 48-битную целочисленную арифметику.

Функции drand48() и erand48() возвращают неотрицательное
число (с плавающей точкой) двойной точности, находящееся в
промежутке [0.0 , 1.0).

Функции lrand48() и nrand48() возвращают неотрицательное
длинное целое число, находящееся между 0 и 2^31.

Функции mrand48() и jrand48() возвращают длинное целое
число, находящееся между -2^31 и 2^31.

Функции srand48(), seed48() и lcong48() - это
инициализационные функции, одна из которых должна быть
вызвана перед использованием drand48(), lrand48() или
mrand49(). Функции erand48(), nrand48() и jrand48() не
требуют инициализации.

Все функции работают при помощи сгенерированной
последовательности 48-битных целых чисел Xi, в
соответствии с линейной конгруэнтной формулой:

Xn+1 = (aXn + c) mod m, где n >= 0

Параметр m = 2^48. Если lcong48() не вызывался, a и c
установлены как:

a = 0x5DEECE66D
c = 0xB

Величина, возвращаемая любой из функций: drand48(),
erand48(), lrand48(), nrand48(), mrand48() или jrand48(),
- вычисляется при одновременной генерации следующей
48-битной Xi-последовательности. Когда соответствующее
количество битов, в зависимости от типа данных, будет
возвращено, происходит копирование его из старших битов Xi
и преобразование в возвращаемое значение.

Функции drand48(), lrand48() и mrand48() сохраняют
последние сгенерированные 48 битов Xi во внутреннем
буфере. Функции erand48(), nrand48() и jrand48() требуют
от вызывающей программы предоставить место для хранения
величины Xi в массиве xsubi. Функции инициализируются
начальной величиной Xi, указанной в массиве при первом
вызове.

СООТВЕТСТВИЕ СТАНДАРТАМ
SVID 3

ЗАМЕЧАНИЯ
Эти функции считаются устаревшими в SVID 3.
Читать новости Linux в Telegram
Linux - drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - генерируют равномерно распределенные псевдослучайные числа
Мы в соцсетях ✉