Lines Matching refs:bits
511 uint64_t bits = 0;
512 if (memcpy_s(&bits, sizeof(bits), &num, sizeof(num)) != EOK) {
516 // Take out bits 62-52 (11 bits in total) and subtract 1023
517 uint64_t integerDigits = ((bits >> base::DOUBLE_SIGNIFICAND_SIZE) & 0x7FF) - base::DOUBLE_EXPONENT_BIAS;
523 uint64_t mantissa = (bits & base::DOUBLE_SIGNIFICAND_MASK) | base::DOUBLE_HIDDEN_BIT;
534 mantissa = mantissa << (64 - leftover); // 64 : double bits size
587 JSHandle<BigInt> bigint = CreateBigint(thread, 2); // 2 : one int64_t bits need two uint32_t bits
928 // If all the most significant bits are 1, we think that carry will cause overflow,
1532 JSTaggedValue BigInt::AsUintN(JSThread *thread, JSTaggedNumber &bits, JSHandle<BigInt> bigint)
1534 JSTaggedNumber number = JSTaggedValue::ToNumber(thread, bits);
1553 JSTaggedValue BigInt::AsintN(JSThread *thread, JSTaggedNumber &bits, JSHandle<BigInt> bigint)
1555 JSTaggedNumber number = JSTaggedValue::ToNumber(thread, bits);
1575 // If mod ≥ 2bits - 1, return ℤ(mod - 2bits); otherwise, return (mod).
1619 // if Significant bits greater than 1024 then double is infinity
1626 // Align to the most significant bit, then right shift 12 bits so that the head of the mantissa is in place
1628 ((static_cast<uint64_t>(BigintHead) << needMoveBit) >> 12); // 12 mantissa// just has 52 bits
1650 // After the mantissa is filled, if the bits of bigint have not been used up, consider the rounding problem
1651 // The remaining bits of the current digit
1709 uint64_t bits = 0;
1710 if (memcpy_s(&bits, sizeof(bits), &num, sizeof(num)) != EOK) {
1714 int exponential = (bits >> base::DOUBLE_SIGNIFICAND_SIZE) & 0x7FF;
1716 // Take out bits 62-52 (11 bits in total) and subtract 1023
1718 uint64_t mantissa = (bits & base::DOUBLE_SIGNIFICAND_MASK) | base::DOUBLE_HIDDEN_BIT;
1737 // Compare the significant bits of bigint with the significant integer bits of double
1757 mantissa = mantissa << (64 - leftover); // 64 : double bits