Random\Engine\Mt19937::__construct
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Random\Engine\Mt19937::__construct
Референца за `random-engine-mt19937.construct.php` со подобрена типографија и навигација.
Random\Engine\Mt19937::__construct
(PHP 8 >= 8.2.0)
Random\Engine\Mt19937::__construct — Конструира нов Mt19937 мотор
= NULL
Бидејќи моторот Mt19937 („Mersenne Twister“) прифаќа само еден 32-битен цел број како семе, бројот на можни случајни низи е ограничен само на 232 (т.е. 4.294.967.296), и покрај огромниот период од 2 на Mt1993719937-1.
Кога се потпирате на имплицитно или експлицитно случајно сеење, дупликатите ќе се појават многу порано. Се очекуваат дупликатни семиња со 50% веројатност помалку од 80.000 случајно генерирани семиња според проблемот со роденденот. 10% веројатност за дупликат семе се случува по случајно генерирање на околу 30.000 семиња.
Ова го прави Mt19937 несоодветен за апликации каде што дупликатните низи не смеат да се случат со повеќе од занемарлива веројатност. Ако е потребно репродуктивно сеење, и двата Random\Engine\Xoshiro256StarStar and Random\Engine\PcgOneseq128XslRr64 моторите поддржуваат многу поголеми семиња кои веројатно нема случајно да се судираат. Ако репродуктивноста не е потребна, Random\Engine\Secure моторот обезбедува криптографски сигурна случајност.
Параметри
seed-
Ја исполнува состојбата со вредности генерирани со линеарен конгруентен генератор кој беше иницијализиран со
seedинтерпретиран како 32-битен цел број без знак.Враќа
seedе изоставен илиnull, ќе се користи случаен 32-битен цел број без знак. mode-
Користете една од следниве константи за да ја специфицирате имплементацијата на алгоритмот што треба да се користи.
-
MT_RAND_MT19937: Точната имплементација на Mt19937. -
MT_RAND_PHP: Неточна имплементација за компатибилност со претходните верзии со mt_srand() пред PHP 7.1.0.
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваПретходната порака за грешка DEPRECATED од PHP 8.3.0. Силно се обесхрабрува потпирањето на оваа функција.
-
Примери
Пример #1 Random\Engine\Mt19937::__construct() example
<?php
// Uses a random 32 Bit seed.
$e = new \Random\Engine\Mt19937();
$r = new \Random\Randomizer($e);
?>