UNPKG

pdf-lib

Version:

Create and modify PDF files with JavaScript

22 lines (18 loc) 546 B
/** * Generates a pseudo random number. Although it is not cryptographically secure * and uniformly distributed, it is not a concern for the intended use-case, * which is to generate distinct numbers. * * Credit: https://stackoverflow.com/a/19303725/10254049 */ export class SimpleRNG { static withSeed = (seed: number) => new SimpleRNG(seed); private seed: number; private constructor(seed: number) { this.seed = seed; } nextInt(): number { const x = Math.sin(this.seed++) * 10000; return x - Math.floor(x); } }