Хорошо равномерно распределенная длиннопериодная линейная (WELL) - это семейство генераторов псевдослучайных чисел, разработанных в 2006 году, и [ja ] (松本 眞). Это форма сдвигового регистра с линейной обратной связью, оптимизированного для программной реализации на 32-битной машине.
Структура аналогична Mersenne Twister, большое состояние, состоящее из предыдущих выходных слов (32 бита каждое), из которого новое выходное слово генерируется с использованием линейных повторений по модулю 2 в конечном двоичном поле . Однако более сложное повторение дает более плотный порождающий полином, что дает лучшие статистические свойства.
На каждом этапе генератора считываются пять слов состояния: самые старые 32 бита (которые могут перекрывать границу слова, если размер состояния не кратен 32), самые новые 32 бита и три других слова в между.
Затем серия из восьми преобразований одного слова (в основном в форме x: = x ⊕ (x>>k)
) и шести операций исключающего ИЛИ объединяет их в два слова, которые становятся двумя новейшими словами состояния, одно из которых будет выходным.
Для следующих генераторов предусмотрены специальные параметры:
.