fast-random
Version:
Fast simple seedable pseudo-random number generator
26 lines (20 loc) • 374 B
JavaScript
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;