SFC64 Small Fast Chaotic PRNG#

класс numpy.random.SFC64(seed=None)#

BitGenerator для Small Fast Chaotic PRNG Криса Доти-Хамфри.

Параметры:
seed{None, int, array_like[ints], SeedSequence}, необязательный

Семя для инициализации BitGenerator. Если None, то свежая, непредсказуемая энтропия будет взята из ОС. Если int или array_like[ints] передается, то он будет передан в SeedSequence для получения начального BitGenerator состояние. Также можно передать SeedSequence экземпляр.

Примечания

SFC64 является 256-битной реализацией Small Fast Chaotic PRNG Криса Доти-Хамфри ([1]). SFC64 имеет несколько различных циклов, в которых можно находиться, в зависимости от сида; ожидаемый период составит около \(2^{255}\) ([2]). SFC64 включает 64-битный счётчик, что означает, что абсолютная минимальная длина цикла составляет \(2^{64}\) и что различные начальные значения не столкнутся друг с другом как минимум \(2^{64}\) итераций.

SFC64 предоставляет капсулу, содержащую указатели на функции, которые производят числа с плавающей запятой двойной точности, а также беззнаковые 32- и 64-битные целые числа. Они не могут быть использованы напрямую в Python и должны быть обработаны Generator или аналогичный объект, поддерживающий низкоуровневый доступ.

Состояние и инициализация

The SFC64 вектор состояния состоит из 4 беззнаковых 64-битных значений. Последнее является 64-битным счётчиком, который увеличивается на 1 на каждой итерации.

Входное начальное значение обрабатывается SeedSequence для генерации первых 3 значений, затем SFC64 алгоритм итерируется небольшое количество раз для перемешивания.

Гарантия совместимости

SFC64 гарантирует, что фиксированное начальное значение всегда будет давать один и тот же поток случайных целых чисел.

Ссылки

Состояние#

state

Получить или установить состояние ГПСЧ

Расширение#

cffi

CFFI интерфейс

ctypes

интерфейс ctypes