You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9 lines
333 B
9 lines
333 B
5 months ago
|
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;
|
||
|
}
|