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

13 lines
507 B
JavaScript
Raw Normal View History

2024-09-06 15:32:35 +00:00
"use strict";
exports.__esModule = true;
exports.unsafeUniformIntDistributionInternal = void 0;
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;
}
exports.unsafeUniformIntDistributionInternal = unsafeUniformIntDistributionInternal;