pub(crate) const XSUM_MANTISSA_BITS: i64 = 52; pub(crate) const XSUM_EXP_BITS: i64 = 11; pub(crate) const XSUM_MANTISSA_MASK: i64 = (1i64 << XSUM_MANTISSA_BITS) - 1; pub(crate) const XSUM_EXP_MASK: i64 = (1 << XSUM_EXP_BITS) - 1; pub(crate) const XSUM_EXP_BIAS: i64 = (1 << (XSUM_EXP_BITS - 1)) - 1; pub(crate) const XSUM_SIGN_BIT: i64 = XSUM_MANTISSA_BITS + XSUM_EXP_BITS; pub(crate) const XSUM_SIGN_MASK: i64 = 1i64 << XSUM_SIGN_BIT;
pub(crate) const XSUM_SCHUNK_BITS: i64 = 64; pub(crate) const XSUM_LOW_EXP_BITS: i64 = 5; pub(crate) const XSUM_LOW_EXP_MASK: i64 = (1 << XSUM_LOW_EXP_BITS) - 1; pub(crate) const XSUM_HIGH_EXP_BITS: i64 = XSUM_EXP_BITS - XSUM_LOW_EXP_BITS; pub(crate) const XSUM_SCHUNKS: i32 = (1 << XSUM_HIGH_EXP_BITS) + 3; pub(crate) const XSUM_LOW_MANTISSA_BITS: i64 = 1 << XSUM_LOW_EXP_BITS; pub(crate) const XSUM_LOW_MANTISSA_MASK: i64 = (1i64 << XSUM_LOW_MANTISSA_BITS) - 1; pub(crate) const XSUM_SMALL_CARRY_BITS: i64 = (XSUM_SCHUNK_BITS - 1) - XSUM_MANTISSA_BITS; pub(crate) const XSUM_SMALL_CARRY_TERMS: i64 = (1 << XSUM_SMALL_CARRY_BITS) - 1;
pub(crate) const XSUM_LCOUNT_BITS: i64 = 64 - XSUM_MANTISSA_BITS; pub(crate) const XSUM_LCHUNKS: usize = 1 << (XSUM_EXP_BITS + 1);
pub const XSUM_THRESHOLD: usize = 1_000;