8.200 RANDOM_NUMBER — Псевдослучайное число
- Описание:
- Возвращает одно псевдослучайное число или массив псевдослучайных чисел из равномерного распределения в диапазоне 0 \leq x < 1.
Библиотека выполнения реализует генератор псевдослучайных чисел (ГПСЧ) KISS (Keep It Simple Stupid) Джорджа Марсалья. Этот ГПСЧ объединяет:
- Генератор конгруэнтных чисел x(n) = 69069 \cdot x(n-1) + 1327217885 с периодом 2^32,
- Генератор сдвига с 3-кратным сдвигом регистров с периодом 2^32 - 1,
- Два 16-битных генератора с умножением и переносом с периодом 597273182964842497 > 2^59.
Обратите внимание, этот ГПСЧ является потокобезопасным, если используется в директивах 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