Files
rough/src/random.ts
2020-03-24 11:04:29 -07:00

19 lines
368 B
TypeScript

export function randomSeed(): number {
return Math.floor(Math.random() * 2 ** 31);
}
export class Random {
private seed: number;
constructor(seed: number) {
this.seed = seed;
}
next(): number {
if (this.seed) {
return ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31;
} else {
return Math.random();
}
}
}