1.0.2 • Published 2 years ago

rand-seed v1.0.2

Weekly downloads
546
License
MIT
Repository
github
Last release
2 years ago

NPM Version downloads Build Status dependencies tested with jest codecov Quality Gate Status License

rand-seed

A small seedable random number generator library written in TypeScript

The default Math.random() function doesn't allow for setting a seed. This library offers a number of different semi-random number generators which may be initialised with an arbitrary seed in string format, hence, making it possible to produce sequences of semi-random numbers that are always the same for a given seed. The implemented algorithms are detailed here (note that I am not the author of that post, I merely used it for the implementation of this library).

Installation

This package is available through npm:

npm install --save rand-seed

Usage

Either import directly

<script src="path-to-rand-seed/rand-seed.js"></script>

or import in your own scripts using

import Rand, {PRNG} from 'rand-seed';

Then simply create a new instance with an (optional) seed:

const rand = new Rand('1234');

rand.next(); // Generate a new random number

If no seed is specified the call to rand.next() will simply be forwarded to Math.random(). In case of a supplied seed, the sfc32 algorithm will be used by default. Currently, three different algorithms are provided: sfc32, mulberry32 and xoshiro128**. If you would like to use a different algorithm, create a new instance like so:

// Create a new random number generator using the xoshiro128** algorithm
const rand = new Rand('1234', PRNG.xoshiro128ss);

Example

A simple example is included. This may be run with node: node example/index.js

1.0.2

2 years ago

1.0.1

3 years ago

1.0.0

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago