seedable-random
Seedable Math.random compatible pseudorandom number generator
npm install seedable-random
Want to see pretty graphs? Log in now!
2 | downloads in the last week |
24 | downloads in the last month |
Last Published By | |
---|---|
Version | 0.0.1 last updated 6 months ago |
License | BSD |
Keywords | seedable, random, prng |
Dependencies | None |
Dependents | react-lorem-component |
Seedable pseudorandom number generator
Usage
var random = require('seedable-random');
random.seed(123);
console.log(random());
As a Math.random
replacement
Math.random = require('seedable-random');
Math.random.seed(12345);
Works as a drop-in for
Math.random
Relatively fast (about 2.5 times slower than
Math.random
on my machine)Seeds itself from the clock by default
Tries to be pretty random
Well tested (TODO come up with some PRNG torture tests)
TODO
Possibility to switch the generator (linear-feedback shift register, Mersenne twister, digits of Math.sin(), etc. based on your needs)
A word of warning
Current implementation just calls Math.sin() with the seed. It's likely that it's not quite that random (for example, the distribution could be biased towards numbers near 1.0). Some more tests are needed.