Package Exports
- fast-random
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fast-random) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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-randomAPI Summary
Get a new random number generator
const random = require('fast-random');
const seed = 12345;
const generator = random(seed);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 = require('fast-random');
// create a new generator
const seed = 12345;
const r = random(seed);
// produce some integer values
for (let i = 0; i < 8; ++i) {
console.log(r.nextInt());
}
// reset the seed
r.seed(seed);
// produce some floating point values
for (let j = 0; j < 8; ++j) {
console.log(r.nextFloat());
}Set seed from current time
const random = require('fast-random');
const seed = Date.now();
const r = random(seed);Get integers in a given range
const random = require('fast-random');
const seed = 12345;
const r = random(seed);
// get random number between a and b inclusive, ie (a <= x <= b)
function getRandomBetween(a, b) {
return a + r.nextInt() % (b - a + 1);
}