@duskmeadow/lfsr-rng
v1.0.0
Published
Minimal LFSR random number generator
Maintainers
Readme
lfsr-rng
Minimal Galois LFSR random number generator.
Install
npm install @duskmeadow/lfsr-rngUsage
const { Lfsr } = require('@duskmeadow/lfsr-rng');
// new Lfsr(bits, taps, seed)
const rng = new Lfsr(16, [16, 14, 13, 11], 0xACE1);
rng.next(); // raw integer
rng.random(); // float 0-1Taps
Use maximal-length polynomial taps for full period. Common ones:
| Bits | Taps | |------|------| | 8 | 8, 6, 5, 4 | | 16 | 16, 14, 13, 11 | | 32 | 32, 22, 2, 1 | | 64 | 64, 63, 61, 60 |
Notes
- Uses native 32-bit ops for bits <= 32, BigInt for larger
next()returnsnumberorbigintdepending on bit size
