Spec-Zone.ru › GNU Fortran 4

8.200 RANDOM_NUMBER — Псевдослучайное число

Описание:
Возвращает одно псевдослучайное число или массив псевдослучайных чисел из равномерного распределения в диапазоне 0 \leq x < 1.

Библиотека выполнения реализует генератор псевдослучайных чисел (ГПСЧ) KISS (Keep It Simple Stupid) Джорджа Марсалья. Этот ГПСЧ объединяет:

  1. Генератор конгруэнтных чисел x(n) = 69069 \cdot x(n-1) + 1327217885 с периодом 2^32,
  2. Генератор сдвига с 3-кратным сдвигом регистров с периодом 2^32 - 1,
  3. Два 16-битных генератора с умножением и переносом с периодом 597273182964842497 > 2^59.
Общий период превышает 2^123.

Обратите внимание, этот ГПСЧ является потокобезопасным, если используется в директивах OpenMP, т.е. его состояние будет согласованным при вызове из нескольких потоков. Однако генератор KISS не создаёт случайные числа параллельно из нескольких источников, а последовательно из одного источника. Если приложение, поддерживающее OpenMP, сильно зависит от случайных чисел, следует рассмотреть использование специализированного параллельного генератора случайных чисел.

Стандарт:
Fortran 95 и более поздние версии
Класс:
Подпрограмма
Синтаксис:
RANDOM_NUMBER(HARVEST)
Аргументы:
HARVEST Должен быть скаляром или массивом типа REAL.
Пример:
program test_random_number
  REAL :: r(5,5)
  CALL init_random_seed()         ! see example of RANDOM_SEED
  CALL RANDOM_NUMBER(r)
end program
См. также:
RANDOM_SEED

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gfortran/RANDOM_005fNUMBER.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API