fast-random
Simple fast seedable pseudo-random number generator
Purpose
Returns a single factory function that creates a new pseudo-random number generator (PRNG) based on the provided seed value. The generator returns 32-bit pseudo-random integers using the Lehmer/Park-Miller generator. This is a circular generator, which will cycle through all 2147483646 possible values before repeating
While not the most robust of PRNGs, the code has a very small footprint, is extremely quick and produces results good enough for many purposes. It has been written to work both within Node.js and in the browser
Installation
npm install --save fast-random
API Summary
Get a new random number generator
const random = ; const seed = 12345;const generator = ;
The returned generator contains the following functions
seed(SEED_VALUE)
: set the current seed value (SEED_VALUE is an integer)nextInt()
: get the next integer value (1 <= x <= 2147483646)nextFloat()
: get the next float value (0 <= x < 1)
Examples
General use
const random = ; // create a new generatorconst seed = 12345;const r = ; // produce some integer valuesfor let i = 0; i < 8; ++i console; // reset the seedr; // produce some floating point valuesfor let j = 0; j < 8; ++j console;
Set seed from current time
const random = ; const seed = Date;const r = ;
Get integers in a given range
const random = ; const seed = 12345;const r = ; // get random number between a and b inclusive, ie (a <= x <= b) { return a + r % b - a + 1;}