Почему не работает математика в js?
Битовые операторы делают любое число 32-битным целым. Когда seed становится больше 4294967295, то вместо него начинает использоваться 0.upd seed ^ (seed >> 15) становится всегда 0.upd2 при seed > 232 seed >> 15 всегда 0, при seed > 254 seed ^ 0 всегда 0upd3 поэкспериментировав, выяснил, что по сути правильно, но неточно, числа больше 232+53 бинарные операторы превращают в 0
Что за переменная seed, вернее какой у неё тип, можно попробовать обернуть её в IntegerparseInt(seed);