diff --git a/src/distribution/uniformFloat64.ts b/src/distribution/uniformFloat64.ts index 91bc325..d38f798 100644 --- a/src/distribution/uniformFloat64.ts +++ b/src/distribution/uniformFloat64.ts @@ -1,7 +1,7 @@ import type { RandomGenerator } from '../types/RandomGenerator'; -const factor = 134217728; // = 1 << 27 -const scale = 1.1102230246251565e-16; // = 2 ** -53 +const scale26 = 1.4901161193847656e-8; // = 2 ** -26 +const scale53 = 1.1102230246251565e-16; // = 2 ** -53 const mask1 = 67108863; // = (1 << 26) - 1 const mask2 = 134217727; // = (1 << 27) - 1 @@ -17,5 +17,5 @@ const mask2 = 134217727; // = (1 << 27) - 1 export function uniformFloat64(rng: RandomGenerator): number { const value1 = rng.next() & mask1; const value2 = rng.next() & mask2; - return (value1 * factor + value2) * scale; + return value1 * scale26 + value2 * scale53; }