У меня внеочередной проект игры, который предполагалось сделать за день или два. Анонсирую его позже. Однако, начав писать прототип, я сразу же зарылся в одну проблему. Игра онлайновая, поэтому серверная часть делается на PHP. Игра использует генератор случайных чисел, текущее состояние которого должно сохраняться между ходами. То есть у каждого игрока должна быть своя отдельная сессия игры, где используется своё отдельное состояние генератора. Встроенная в PHP функция mt_rand() не позволяет получить текущее состояние, поэтому я обратился к самописному генератору. В качестве основы я взял уже зарекомендовавший себя алгоритм xoshiro: Но реализовать его в PHP оказалось не так просто. Итак, для начала я просто перенёс код в PHP: Но при попытке его использовать сразу возникла ошибка. Вместо целых чисел стали получаться вещественные. Проблема в том, что в PHP нет ограничения на длину целого числа. При переполнении оно автоматически превращается в вещественное с плавающей точкой. Алгоритм, р