Lines Matching defs:exponent
1056 JSHandle<BigInt> BigInt::Exponentiate(JSThread *thread, JSHandle<BigInt> base, JSHandle<BigInt> exponent)
1058 if (exponent->GetSign()) {
1062 ASSERT(exponent->GetLength() > 0);
1063 if (exponent->IsZero()) {
1069 uint32_t expValue = exponent->GetDigit(0);
1076 if (exponent->GetLength() > 1) {
1543 JSHandle<BigInt> exponent = Uint64ToBigInt(thread, bit);
1548 JSHandle<BigInt> tValue = Exponentiate(thread, base, exponent);
1565 JSHandle<BigInt> exponent = Int64ToBigInt(thread, bit - 1);
1573 JSHandle<BigInt> resValue = Exponentiate(thread, base, exponent);
1582 static JSTaggedNumber CalculateNumber(const uint64_t &sign, const uint64_t &mantissa, uint64_t &exponent)
1584 exponent = (exponent + base::DOUBLE_EXPONENT_BIAS) << base::DOUBLE_SIGNIFICAND_SIZE;
1585 uint64_t doubleBit = sign | exponent | mantissa;
1594 static JSTaggedNumber Rounding(const uint64_t &sign, uint64_t &mantissa, uint64_t &exponent, bool needRound)
1600 exponent++;
1601 if (exponent > base::DOUBLE_EXPONENT_BIAS) {
1606 return CalculateNumber(sign, mantissa, exponent);
1631 uint64_t exponent = static_cast<uint64_t>(bigintBitLen - 1);
1637 return CalculateNumber(sign, mantissa, exponent);
1653 return CalculateNumber(sign, mantissa, exponent);
1660 return CalculateNumber(sign, mantissa, exponent);
1667 return CalculateNumber(sign, mantissa, exponent);
1670 return Rounding(sign, mantissa, exponent, true);
1674 return Rounding(sign, mantissa, exponent, true);
1677 return Rounding(sign, mantissa, exponent, false);