libdspl-2.0
Библиотека алгоритмов цифровой обработки сигналов
|
Структура random_t
Структура параметров датчиков псевдослучайных чисел. Подробнее...
#include <dspl.h>
Поля данных | |
double | mrg32k3a_seed |
double | mrg32k3a_x [3] |
double | mrg32k3a_y [3] |
unsigned long long | mt19937_mt [RAND_MT19937_NN] |
int | mt19937_mti |
int | type |
Подробное описание
Структура параметров датчиков псевдослучайных чисел.
Структура хранит инициализацию и текущие регистры различных датчиков псевдослучайных чисел. В библиотеке используются следующие датчики:
- MRG32K3A – 32 битный датчик разработан Пьером Лекуэром [1].
- MT19937-64 – 64-битный датчик Вихрь Мерсенна [2, 3].
- Заметки
- [1] Pierre L'Ecuyer, (1999) Good Parameters and Implementations for Combined Multiple Recursive Random Number Generators. Operations Research 47(1):159-164. https://doi.org/10.1287/opre.47.1.159
[2] T. Nishimura, ``Tables of 64-bit Mersenne Twisters // ACM Transactions on Modeling and Computer Simulation 10. (2000) 348–357.
[3] M. Matsumoto and T. Nishimura Mersenne Twister: a 623-dimensionally equidistributed uniform pseudorandom number generator // ACM Transactions on Modeling and Computer Simulation 8. (Jan. 1998) 3–30.
- Аргументы
-
mrg32k3a_seed Начальная инициализация датчика MRG32K3A.
mrg32k3a_x Первый вектор состояния рекурсивного датчика MRG32K3A.
mrg32k3a_y Второй вектор состояния рекурсивного датчика MRG32K3A.
mt19937_mt Первый вектор состояния рекурсивного датчика MT19937-64.
mt19937_mti Текущий индекс в векторе состояния датчика MT19937-64.
Параметры данной структуры заполняются автоматически функциейrandom_init
и используются функциями генерации псевдослучайных векторов.
Поля
◆ mrg32k3a_seed
◆ mrg32k3a_x
double random_t::mrg32k3a_x[3] |
См. определение в файле dspl.h строка 353
Используется в random_init().
◆ mrg32k3a_y
double random_t::mrg32k3a_y[3] |
См. определение в файле dspl.h строка 354
Используется в random_init().
◆ mt19937_mt
◆ mt19937_mti
◆ type
int random_t::type |
См. определение в файле dspl.h строка 360
Используется в random_init() и randu().
Создано системой 1.8.17