# Генераторы случайных чисел и функции для работы со случайными числами

# Введение

- Предопределённые константы
- Примеры
- Функции Random
  - getrandmax — Возвращает максимально возможное случайное число
  - lcg_value — Генерирует псевдослучайное число, применяя комбинированный линейный конгруэнтный метод
  - mt_getrandmax — Показывает максимально возможное значение случайного числа
  - mt_rand — Генерирует случайное значение через генератор случайных чисел на базе Вихря Мерсе́нна
  - mt_srand — Устанавливает начальное значение для инициализации генератора псевдослучайных чисел на базе Вихря Мерсе́нна
  - rand — Генерирует случайное число
  - random_bytes — Генерирует криптографически безопасные случайные байты
  - random_int — Получает криптографически безопасное равномерно выбранное целое число
  - srand — Устанавливает начальное значение для инициализации генератора псевдослучайных чисел
- Random\Randomizer — Класс Random\Randomizer
  - Random\Randomizer::__construct — Создаёт новый объект Randomizer
  - Random\Randomizer::getBytes — Получает случайные байты
  - Random\Randomizer::getBytesFromString — Получает случайные байты из исходной строки
  - Random\Randomizer::getFloat — Получает равномерно выбранное число с плавающей точкой
  - Random\Randomizer::getInt — Получает равномерно выбранное целое число
  - Random\Randomizer::nextFloat — Получает число с плавающей точкой из открытого справа интервала [0.0, 1.0)
  - Random\Randomizer::nextInt — Получает целое положительное число
  - Random\Randomizer::pickArrayKeys — Выбирает случайные ключи массива
  - Random\Randomizer::__serialize — Сериализует объект Randomizer
  - Random\Randomizer::shuffleArray — Получает перестановку массива
  - Random\Randomizer::shuffleBytes — Получает байтовую перестановку строки
  - Random\Randomizer::__unserialize — Десериализует параметр data в объект Randomizer
- Random\IntervalBoundary — Перечисление Random\IntervalBoundary
- Random\Engine — Интерфейс Random\Engine
  - Random\Engine::generate — Генерирует случайную последовательность
- Random\CryptoSafeEngine — Интерфейс Random\CryptoSafeEngine
- Random\Engine\Secure — Класс Random\Engine\Secure
  - Random\Engine\Secure::generate — Создаёт криптографически безопасную случайную последовательность
- Random\Engine\Mt19937 — Класс Random\Engine\Mt19937
  - Random\Engine\Mt19937::__construct — Создаёт новый объект движка Mt19937
  - Random\Engine\Mt19937::__debugInfo — Возвращает внутреннее состояние движка
  - Random\Engine\Mt19937::generate — Создаёт 32 бита случайной последовательности
  - Random\Engine\Mt19937::__serialize — Сериализует объект Mt19937
  - Random\Engine\Mt19937::__unserialize — Десериализует параметр data в объект Mt19937
- Random\Engine\PcgOneseq128XslRr64 — Класс Random\Engine\PcgOneseq128XslRr64
  - Random\Engine\PcgOneseq128XslRr64::__construct — Создаёт новый движок PCG Oneseq 128 XSL RR 64
  - Random\Engine\PcgOneseq128XslRr64::__debugInfo — Возвращает внутреннее состояние движка
  - Random\Engine\PcgOneseq128XslRr64::generate — Создаёт 64 бита случайной последовательности
  - Random\Engine\PcgOneseq128XslRr64::jump — Эффективное перемещение движка вперёд на несколько шагов
  - Random\Engine\PcgOneseq128XslRr64::__serialize — Сериализует объект PcgOneseq128XslRr64
  - Random\Engine\PcgOneseq128XslRr64::__unserialize — Десериализует параметр data в объект PcgOneseq128XslRr64
- Random\Engine\Xoshiro256StarStar — Класс Random\Engine\Xoshiro256StarStar
  - Random\Engine\Xoshiro256StarStar::__construct — Создаёт новый объект движка xoshiro256**
  - Random\Engine\Xoshiro256StarStar::__debugInfo — Возвращает внутреннее состояние движка
  - Random\Engine\Xoshiro256StarStar::generate — Генерирует 64 бита случайной последовательности
  - Random\Engine\Xoshiro256StarStar::jump — Эффективно перемещает движок вперёд на 2^128 шагов
  - Random\Engine\Xoshiro256StarStar::jumpLong — Эффективно перемещает движок вперёд на 2^192 шага
  - Random\Engine\Xoshiro256StarStar::__serialize — Сериализует объект Xoshiro256StarStar
  - Random\Engine\Xoshiro256StarStar::__unserialize — Десериализует параметр data в объект Xoshiro256StarStar
- Random\RandomError — Ошибка Random\RandomError
- Random\BrokenRandomEngineError — Ошибка Random\BrokenRandomEngineError
- Random\RandomException — Класс Random\RandomException

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open