CloudCastle Faker API

Mt19937Engine
in package
implements SeedableInterface

FinalYes

Детерминированный движок псевдослучайности MT19937 (Mersenne Twister).

Каноничная 32-битная реализация Мацумото—Нисимуры с СОБСТВЕННЫМ состоянием на каждый экземпляр: два независимых движка с разными зёрнами не влияют друг на друга (в отличие от глобального mt_rand()). Умножение при инициализации маскируется & 0xFFFFFFFF, поэтому на 64-битном PHP переполнения в float не происходит, а последовательность идентична на версиях 8.1–8.5.

Движок — чистый поставщик битов: он выдаёт сырое 32-битное слово, а логика диапазонов и распределений живёт в Randomizer.

Table of Contents

Interfaces

SeedableInterface
Движок, состояние которого можно детерминированно инициализировать зерном.

Methods

__construct()  : mixed
nextUint32()  : int
Вернуть очередное закалённое (tempered) 32-битное слово в [0, 2^32 − 1].
seed()  : void
Переинициализировать состояние движка зерном (init_genrand).

Methods

__construct()

public __construct([int $seed = 0 ]) : mixed
Parameters
$seed : int = 0

зерно начальной инициализации

nextUint32()

Вернуть очередное закалённое (tempered) 32-битное слово в [0, 2^32 − 1].

public nextUint32() : int
Attributes
#[Override]
Return values
int

неотрицательное 32-битное слово

seed()

Переинициализировать состояние движка зерном (init_genrand).

public seed(int $seed) : void
Parameters
$seed : int

зерно последовательности

Attributes
#[Override]
On this page

Search results