libdspl-2.0
Библиотека алгоритмов цифровой обработки сигналов

Структура параметров датчиков псевдослучайных чисел. Подробнее...

#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 и используются функциями генерации псевдослучайных векторов.
Автор
Бахурин Сергей. www.dsplib.org

См. определение в файле dspl.h строка 59

Поля

◆ mrg32k3a_seed

double random_t::mrg32k3a_seed

См. определение в файле dspl.h строка 62

◆ mrg32k3a_x

double random_t::mrg32k3a_x[3]

См. определение в файле dspl.h строка 63

Используется в random_init().

◆ mrg32k3a_y

double random_t::mrg32k3a_y[3]

См. определение в файле dspl.h строка 64

Используется в random_init().

◆ mt19937_mt

unsigned long long random_t::mt19937_mt[RAND_MT19937_NN]

См. определение в файле dspl.h строка 67

◆ mt19937_mti

int random_t::mt19937_mti

См. определение в файле dspl.h строка 68

◆ type

int random_t::type

См. определение в файле dspl.h строка 70

Используется в random_init() и randu().