• Home
  • Raw
  • Download

Lines Matching full:uint32_t

27     uint32_t res = 0;  in CharToInt()
38 static void Division(CString &num, uint32_t conversionToRadix, uint32_t currentRadix, uint32_t &rem… in Division()
41 uint32_t temp = 0; in Division()
44 temp = (currentRadix * remain + static_cast<uint32_t>(CharToInt(num[i]))); in Division()
55 CString BigIntHelper::Conversion(const CString &num, uint32_t conversionToRadix, uint32_t currentRa… in Conversion()
60 uint32_t remain = 0; in Conversion()
85 JSHandle<BigInt> BigIntHelper::SetBigInt(JSThread *thread, const CString &numStr, uint32_t currentR… in SetBigInt()
111 uint32_t val = 0; in SetBigInt()
114 val |= static_cast<uint32_t>(binaryStr[i] - '0'); in SetBigInt()
124 uint32_t val = 0; in SetBigInt()
127 val |= static_cast<uint32_t>(binaryStr[i] - '0'); in SetBigInt()
172 uint32_t val = bigint->GetDigit(index); in GetBinary()
183 JSHandle<BigInt> BigInt::CreateBigint(JSThread *thread, uint32_t length) in CreateBigint()
206 for (uint32_t i = 0; i < x->GetLength(); ++i) { in Equal()
228 uint32_t maxLen = 0; in BitwiseOp()
229 uint32_t minLen = 0; in BitwiseOp()
230 uint32_t xlen = x->GetLength(); in BitwiseOp()
231 uint32_t ylen = y->GetLength(); in BitwiseOp()
267 uint32_t xLength = x->GetLength(); in OneIsNegativeAND()
268 uint32_t yLength = yVal->GetLength(); in OneIsNegativeAND()
269 uint32_t minLen = xLength; in OneIsNegativeAND()
274 uint32_t i = 0; in OneIsNegativeAND()
276 uint32_t res = x->GetDigit(i) & ~(yVal->GetDigit(i)); in OneIsNegativeAND()
337 JSHandle<BigInt> BigInt::BitwiseSubOne(JSThread *thread, JSHandle<BigInt> bigint, uint32_t maxLen) in BitwiseSubOne()
344 uint32_t bigintLen = bigint->GetLength(); in BitwiseSubOne()
345 uint32_t carry = 1; in BitwiseSubOne()
346 for (uint32_t i = 0; i < bigintLen; i++) { in BitwiseSubOne()
347 uint32_t bigintCarry = 0; in BitwiseSubOne()
357 uint32_t bigintLength = bigint->GetLength(); in BitwiseAddOne()
360 for (uint32_t i = 0; i < bigintLength; i++) { in BitwiseAddOne()
361 if (std::numeric_limits<uint32_t>::max() != bigint->GetDigit(i)) { in BitwiseAddOne()
366 uint32_t newLength = bigintLength; in BitwiseAddOne()
372 uint32_t carry = 1; in BitwiseAddOne()
373 for (uint32_t i = 0; i < bigintLength; i++) { in BitwiseAddOne()
374 uint32_t bigintCarry = 0; in BitwiseAddOne()
387 uint32_t xLength = x->GetLength(); in OneIsNegativeOR()
388 uint32_t maxLen = xLength; in OneIsNegativeOR()
393 uint32_t yLength = yVal->GetLength(); in OneIsNegativeOR()
394 uint32_t minLen = xLength; in OneIsNegativeOR()
399 uint32_t i = 0; in OneIsNegativeOR()
401 uint32_t res = ~(x->GetDigit(i)) & yVal->GetDigit(i); in OneIsNegativeOR()
420 uint32_t maxLen = x->GetLength(); in BitwiseOR()
421 uint32_t yLen = y->GetLength(); in BitwiseOR()
442 JSHandle<EcmaString> BigInt::ToString(JSThread *thread, JSHandle<BigInt> bigint, uint32_t conversio… in ToString()
449 CString BigInt::ToStdString(uint32_t conversionToRadix) const in ToStdString()
478 uint32_t mayNeedLen = integerDigits / DATEBITS + 1; in NumberToBigInt()
488 uint32_t doubleNum = 0; in NumberToBigInt()
492 doubleNum = static_cast<uint32_t>(mantissa >> leftover); in NumberToBigInt()
497 doubleNum = static_cast<uint32_t>(mantissa >> DATEBITS); in NumberToBigInt()
508 uint32_t value = 0; in Int32ToBigInt()
511 value = static_cast<uint32_t>(-(number + 1)) + 1; in Int32ToBigInt()
520 JSHandle<BigInt> BigInt::Uint32ToBigInt(JSThread *thread, const uint32_t &number) in Uint32ToBigInt()
543 … JSHandle<BigInt> bigint = CreateBigint(thread, 2); // 2 : one int64_t bits need two uint32_t bits in Uint64ToBigInt()
544 uint32_t lowBits = static_cast<uint32_t>(number & 0xffffffff); in Uint64ToBigInt()
545 uint32_t highBits = static_cast<uint32_t>((number >> DATEBITS) & 0xffffffff); in Uint64ToBigInt()
553 uint32_t len = GetLength(); in ToUint64()
555 uint32_t lowBits = GetDigit(0); in ToUint64()
556 uint32_t highBits = 0; in ToUint64()
597 JSHandle<BigInt> BigInt::CreateBigWords(JSThread *thread, bool sign, uint32_t size, const uint64_t … in CreateBigWords()
603 const uint32_t MULTIPLE = 2; in CreateBigWords()
604 uint32_t needLen = size * MULTIPLE; in CreateBigWords()
610 for (uint32_t index = 0; index < size; ++index) { in CreateBigWords()
611 uint32_t lowBits = static_cast<uint32_t>(words[index] & 0xffffffff); in CreateBigWords()
612 uint32_t highBits = static_cast<uint32_t>((words[index] >> DATEBITS) & 0xffffffff); in CreateBigWords()
631 uint32_t xLength = x->GetLength(); in Add()
632 uint32_t yLength = y->GetLength(); in Add()
661 uint32_t xLength = x->GetLength(); in Subtract()
662 uint32_t yLength = y->GetLength(); in Subtract()
663 uint32_t i = xLength - 1; in Subtract()
687 uint32_t bigintCarry = 0; in BigintAdd()
688 uint32_t i = 0; in BigintAdd()
690 uint32_t newBigintCarry = 0; in BigintAdd()
691 uint32_t addPlus = BigIntHelper::AddHelper(x->GetDigit(i), y->GetDigit(i), newBigintCarry); in BigintAdd()
698 uint32_t newBigintCarry = 0; in BigintAdd()
699 uint32_t addPlus = BigIntHelper::AddHelper(x->GetDigit(i), bigintCarry, newBigintCarry); in BigintAdd()
709 inline uint32_t BigIntHelper::AddHelper(uint32_t x, uint32_t y, uint32_t &bigintCarry) in AddHelper()
711 uint32_t addPlus = x + y; in AddHelper()
721 uint32_t bigintCarry = 0; in BigintSub()
722 uint32_t i = 0; in BigintSub()
724 uint32_t newBigintCarry = 0; in BigintSub()
725 uint32_t minuSub = BigIntHelper::SubHelper(x->GetDigit(i), y->GetDigit(i), newBigintCarry); in BigintSub()
732 uint32_t newBigintCarry = 0; in BigintSub()
733 uint32_t minuSub = BigIntHelper::SubHelper(x->GetDigit(i), bigintCarry, newBigintCarry); in BigintSub()
754 inline uint32_t BigIntHelper::SubHelper(uint32_t x, uint32_t y, uint32_t &bigintCarry) in SubHelper()
756 uint32_t minuSub = x - y; in SubHelper()
818 void BigInt::RightShift(JSHandle<BigInt> bigint, JSHandle<BigInt> x, uint32_t digitMove, uint32_t b… in RightShift()
820 uint32_t size = x->GetLength(); in RightShift()
822 for (uint32_t i = digitMove; i < size; i++) { in RightShift()
826 uint32_t carry = x->GetDigit(digitMove) >> bitsMove; in RightShift()
827 uint32_t last = size - digitMove - 1; in RightShift()
828 for (uint32_t i = 0; i < last; i++) { in RightShift()
829 uint32_t value = x->GetDigit(i + digitMove + 1); in RightShift()
837 void BigInt::JudgeRoundDown(JSHandle<BigInt> x, uint32_t digitMove, uint32_t bitsMove, uint32_t &ne… in JudgeRoundDown()
840 uint32_t stamp = (static_cast<uint32_t>(1U) << bitsMove) - 1; in JudgeRoundDown()
844 for (uint32_t i = 0; i < digitMove; i++) { in JudgeRoundDown()
853 uint32_t highBits = x->GetDigit(x->GetLength() - 1); in JudgeRoundDown()
868 uint32_t moveNum = y->GetDigit(0); in RightShiftHelper()
869 uint32_t digitMove = moveNum / DATEBITS; in RightShiftHelper()
870 uint32_t bitsMove = moveNum % DATEBITS; in RightShiftHelper()
874 uint32_t needLen = x->GetLength() - digitMove; in RightShiftHelper()
907 uint32_t moveNum = y->GetDigit(0); in LeftShiftHelper()
908 uint32_t digitMove = moveNum / DATEBITS; in LeftShiftHelper()
909 uint32_t bitsMove = moveNum % DATEBITS; in LeftShiftHelper()
911 uint32_t needLen = digitMove + x->GetLength() + static_cast<uint32_t>(!!bitsMove); in LeftShiftHelper()
915 uint32_t index = digitMove; in LeftShiftHelper()
921 uint32_t carry = 0; in LeftShiftHelper()
922 uint32_t index = 0; in LeftShiftHelper()
924 uint32_t value = x->GetDigit(index); in LeftShiftHelper()
944 JSHandle<BigInt> BigInt::Copy(JSThread *thread, JSHandle<BigInt> x, uint32_t len) in Copy()
987 uint32_t expValue = exponent->GetDigit(0); in Exponentiate()
998 uint32_t needLength = expValue / DATEBITS + 1; in Exponentiate()
1000 uint32_t value = 1U << (expValue % DATEBITS); in Exponentiate()
1027 std::tuple<uint32_t, uint32_t> BigInt::Mul(uint32_t x, uint32_t y) in Mul()
1029 uint32_t lowBitX = x & HALFDATEMASK; in Mul()
1030 uint32_t highBitX = x >> HALFDATEBITS; in Mul()
1031 uint32_t lowBitY = y & HALFDATEMASK; in Mul()
1032 uint32_t highBitY = y >> HALFDATEBITS; in Mul()
1034 uint32_t lowRes = lowBitX * lowBitY; in Mul()
1035 uint32_t highRes = highBitX * highBitY; in Mul()
1036 uint32_t midRes1 = lowBitX * highBitY; in Mul()
1037 uint32_t midRes2 = highBitX * lowBitY; in Mul()
1039 uint32_t carry = 0; in Mul()
1040 uint32_t low = BigIntHelper::AddHelper( in Mul()
1042 uint32_t high = (midRes1 >> HALFDATEBITS) + (midRes2 >> HALFDATEBITS) + highRes + carry; in Mul()
1055 uint32_t needLength = x->GetLength() + y->GetLength(); in Multiply()
1061 for (uint32_t i = 0; i < x->GetLength(); i++) { in Multiply()
1062 uint32_t xVal = x->GetDigit(i); in Multiply()
1068 uint32_t carry = 0; in Multiply()
1069 uint32_t high = 0; in Multiply()
1070 uint32_t index = i; in Multiply()
1071 for (uint32_t j = 0; j < y->GetLength(); j++) { in Multiply()
1072 uint32_t currentCarry = 0; in Multiply()
1073 uint32_t value = bigint->GetDigit(index); in Multiply()
1077 uint32_t low; in Multiply()
1086 uint32_t value = bigint->GetDigit(index); in Multiply()
1087 uint32_t currentCarry = 0; in Multiply()
1116 uint32_t xLen = x->GetLength(); in AbsolutelyCompare()
1117 uint32_t yLen = y->GetLength(); in AbsolutelyCompare()
1136 uint32_t BigInt::DivideAndRemainder(uint32_t highBit, uint32_t lowBit, uint32_t divisor, uint32_t& … in DivideAndRemainder()
1138 uint32_t leadingZeros = base::CountLeadingZeros(divisor); in DivideAndRemainder()
1141 uint32_t lowDividend = lowBit << leadingZeros; in DivideAndRemainder()
1142 uint32_t highDividend = highBit; in DivideAndRemainder()
1148 uint32_t highDivisor = divisor >> HALFDATEBITS; in DivideAndRemainder()
1149 uint32_t lowDivisor = divisor & HALFDATEMASK; in DivideAndRemainder()
1150 uint32_t lowDividend1 = lowDividend >> HALFDATEBITS; in DivideAndRemainder()
1151 uint32_t lowDividend2 = lowDividend & HALFDATEMASK; in DivideAndRemainder()
1152 uint32_t highQuotient = highDividend / highDivisor; in DivideAndRemainder()
1153 uint32_t tempRemainder = highDividend - highQuotient * highDivisor; in DivideAndRemainder()
1164uint32_t tempLowDividend = highDividend * HALFUINT32VALUE + lowDividend1 - highQuotient * divisor; in DivideAndRemainder()
1165 uint32_t lowQuotient = tempLowDividend / highDivisor; in DivideAndRemainder()
1183 JSHandle<BigInt> BigInt::FormatLeftShift(JSThread *thread, uint32_t shift, JSHandle<BigInt> bigint,… in FormatLeftShift()
1188 uint32_t len = bigint->GetLength(); in FormatLeftShift()
1189 uint32_t needLen = len; in FormatLeftShift()
1197 uint32_t carry = 0; in FormatLeftShift()
1198 uint32_t index = 0; in FormatLeftShift()
1200 uint32_t value = bigint->GetDigit(index); in FormatLeftShift()
1213 void BigInt::UnformattedRightShift(JSHandle<BigInt> bigint, uint32_t shift) in UnformattedRightShift()
1218 bool BigInt::SpecialMultiplyAndSub(JSHandle<BigInt> u, JSHandle<BigInt> v, uint32_t q, JSHandle<Big… in SpecialMultiplyAndSub()
1219 uint32_t pos) in SpecialMultiplyAndSub()
1221 uint32_t lastCarry = 0; in SpecialMultiplyAndSub()
1222 uint32_t lastHigh = 0; in SpecialMultiplyAndSub()
1223 uint32_t len = v->GetLength(); in SpecialMultiplyAndSub()
1225 for (uint32_t i = 0; i < len; ++i) { in SpecialMultiplyAndSub()
1226 uint32_t value = v->GetDigit(i); in SpecialMultiplyAndSub()
1227 uint32_t carry = 0; in SpecialMultiplyAndSub()
1228 uint32_t high = 0; in SpecialMultiplyAndSub()
1241 uint32_t lastBorrow = 0; in SpecialMultiplyAndSub()
1242 for (uint32_t i = 0; i < qv->GetLength(); ++i) { in SpecialMultiplyAndSub()
1243 uint32_t borrow = 0; in SpecialMultiplyAndSub()
1244 uint32_t value = BigIntHelper::SubHelper(u->GetDigit(pos + i), qv->GetDigit(i), borrow); in SpecialMultiplyAndSub()
1253 uint32_t BigInt::SpecialAdd(JSHandle<BigInt> u, JSHandle<BigInt> v, uint32_t pos) in SpecialAdd()
1255 uint32_t lastCarry = 0; in SpecialAdd()
1256 for (uint32_t i = 0; i < v->GetLength(); ++i) { in SpecialAdd()
1257 uint32_t carry = 0; in SpecialAdd()
1258 uint32_t value = BigIntHelper::AddHelper(u->GetDigit(pos + i), v->GetDigit(i), carry); in SpecialAdd()
1266 uint32_t BigInt::ImproveAccuracy(uint32_t vHighest, uint32_t vHighestNext, uint32_t UHighest, in ImproveAccuracy()
1267 uint32_t UHighestNext, uint32_t q) in ImproveAccuracy()
1269 uint32_t high = 0; in ImproveAccuracy()
1270 uint32_t low = 0; in ImproveAccuracy()
1289 uint32_t divisorLen = divisor->GetLength(); in DivideAndRemainderWithBigintDivisor()
1291 uint32_t quotientLen = dividend->GetLength() - divisorLen; in DivideAndRemainderWithBigintDivisor()
1297 // greater than or equal to half of uint32_t in DivideAndRemainderWithBigintDivisor()
1298 uint32_t leadingZeros = base::CountLeadingZeros(divisor->GetDigit(divisorLen - 1)); in DivideAndRemainderWithBigintDivisor()
1303 uint32_t vHighest = v->GetDigit(divisorLen - 1); in DivideAndRemainderWithBigintDivisor()
1305 uint32_t currentUHighest = u->GetDigit(i + divisorLen); in DivideAndRemainderWithBigintDivisor()
1306 uint32_t r = 0; in DivideAndRemainderWithBigintDivisor()
1307uint32_t q = DivideAndRemainder(currentUHighest, u->GetDigit(i + divisorLen - 1), vHighest, r); in DivideAndRemainderWithBigintDivisor()
1311 q = std::numeric_limits<uint32_t>::max(); in DivideAndRemainderWithBigintDivisor()
1313uint32_t vHighestNext = v->GetDigit(divisorLen - 2); // 2 : Get the second most significant bit in DivideAndRemainderWithBigintDivisor()
1314 uint32_t currentUHighestNext = u->GetDigit(i + divisorLen - 2); // 2 : ditto in DivideAndRemainderWithBigintDivisor()
1323 uint32_t carry = SpecialAdd(u, v, i); in DivideAndRemainderWithBigintDivisor()
1340uint32_t divisor, JSMutableHandle<BigInt> &remainder) in DivideAndRemainderWithUint32Divisor()
1342 uint32_t r = 0; in DivideAndRemainderWithUint32Divisor()
1352 uint32_t q = DivideAndRemainder(r, dividend->GetDigit(i), divisor, r); in DivideAndRemainderWithUint32Divisor()
1387 // When the divisor is uint32_t, we have a faster and simpler algorithm to calculate in Divide()
1413 // When the divisor is uint32_t, we have a faster and simpler algorithm to calculate in Remainder()
1435 uint32_t bit = bits.ToUint32(); in AsUintN()
1450 uint32_t bit = bits.ToUint32(); in AsintN()
1501 uint32_t bigintLen = bigint->GetLength(); in BigIntToNumber()
1502 uint32_t BigintHead = bigint->GetDigit(bigintLen - 1); in BigIntToNumber()
1503 uint32_t leadingZeros = base::CountLeadingZeros(BigintHead); in BigIntToNumber()
1517 uint32_t digit = 0; in BigIntToNumber()
1524 if (static_cast<uint32_t>(remainMantissaBits) >= BigInt::DATEBITS) { in BigIntToNumber()
1549 uint32_t temp = 1ULL << (remainDigitBits - 1); in BigIntToNumber()
1566 uint32_t bigintLen = bigint->GetLength(); in CompareToBitsLen()
1567 uint32_t BigintHead = bigint->GetDigit(bigintLen - 1); in CompareToBitsLen()
1629 uint32_t bigintLen = bigint->GetLength(); in CompareWithNumber()
1633 uint32_t doubleNum = 0; in CompareWithNumber()
1634 uint32_t BigintNum = bigint->GetDigit(index); in CompareWithNumber()
1638 doubleNum = static_cast<uint32_t>(mantissa >> leftover); in CompareWithNumber()
1648 doubleNum = static_cast<uint32_t>(mantissa >> BigInt::DATEBITS); in CompareWithNumber()