securityos/node_modules/pure-rand/lib/esm/distribution/internals/UnsafeUniformIntDistributio...

9 lines
333 B
JavaScript
Raw Permalink Normal View History

2024-09-06 15:32:35 +00:00
export function unsafeUniformIntDistributionInternal(rangeSize, rng) {
var MaxAllowed = rangeSize > 2 ? ~~(0x100000000 / rangeSize) * rangeSize : 0x100000000;
var deltaV = rng.unsafeNext() + 0x80000000;
while (deltaV >= MaxAllowed) {
deltaV = rng.unsafeNext() + 0x80000000;
}
return deltaV % rangeSize;
}