| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);const _32n = /* @__PURE__ */ BigInt(32);// We are not using BigUint64Array, because they are extremely slow as per 2022function fromBig(n, le = false) {    if (le)        return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };    return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };}function split(lst, le = false) {    let Ah = new Uint32Array(lst.length);    let Al = new Uint32Array(lst.length);    for (let i = 0; i < lst.length; i++) {        const { h, l } = fromBig(lst[i], le);        [Ah[i], Al[i]] = [h, l];    }    return [Ah, Al];}const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);// for Shift in [0, 32)const shrSH = (h, _l, s) => h >>> s;const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);// Right rotate for Shift in [1, 32)const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);// Right rotate for Shift in (32, 64), NOTE: 32 is special case.const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));// Right rotate for shift===32 (just swaps l&h)const rotr32H = (_h, l) => l;const rotr32L = (h, _l) => h;// Left rotate for Shift in [1, 32)const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));// Left rotate for Shift in (32, 64), NOTE: 32 is special case.const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));// JS uses 32-bit signed integers for bitwise operations which means we cannot// simple take carry out of low bit sum by shift, we need to use division.function add(Ah, Al, Bh, Bl) {    const l = (Al >>> 0) + (Bl >>> 0);    return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };}// Addition with more than 2 elementsconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;// prettier-ignoreexport { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };// prettier-ignoreconst u64 = {    fromBig, split, toBig,    shrSH, shrSL,    rotrSH, rotrSL, rotrBH, rotrBL,    rotr32H, rotr32L,    rotlSH, rotlSL, rotlBH, rotlBL,    add, add3L, add3H, add4L, add4H, add5H, add5L,};export default u64;//# sourceMappingURL=_u64.js.map
 |