UNPKG

fast-random

Version:

Fast simple seedable pseudo-random number generator

26 lines (20 loc) 374 B
function random(seed) { function _seed(s) { if ((seed = (s|0) % 2147483647) <= 0) { seed += 2147483646; } } function _nextInt() { return seed = seed * 48271 % 2147483647; } function _nextFloat() { return (_nextInt() - 1) / 2147483646; } _seed(seed); return { seed: _seed, nextInt: _nextInt, nextFloat: _nextFloat }; } module.exports = random;