Lines Matching refs:precision
110 unsigned int precision; member
123 precision <= S.precision; in isRepresentableBy()
293 return semantics.precision; in semanticsPrecision()
328 return Dst.precision >= Src.precision; in isRepresentableAsNormalIn()
900 fill_storage = APInt::getZero(semantics->precision - 1); in makeNaN()
902 fill_storage = APInt::getAllOnes(semantics->precision - 1); in makeNaN()
915 unsigned bitsToPreserve = semantics->precision - 1; in makeNaN()
923 unsigned QNaNBit = semantics->precision - 2; in makeNaN()
977 semantics->precision - 1) == 0); in isDenormal()
997 const unsigned PartCount = partCountForBits(semantics->precision); in isSignificandAllOnes()
1004 PartCount*integerPartWidth - semantics->precision + 1; in isSignificandAllOnes()
1023 const unsigned PartCount = partCountForBits(semantics->precision); in isSignificandAllOnesExceptLSB()
1031 PartCount * integerPartWidth - semantics->precision + 1; in isSignificandAllOnesExceptLSB()
1046 const unsigned PartCount = partCountForBits(semantics->precision); in isSignificandAllZeros()
1054 PartCount*integerPartWidth - semantics->precision + 1; in isSignificandAllZeros()
1067 const unsigned PartCount = partCountForBits(semantics->precision); in isSignificandAllZerosExceptMSB()
1075 PartCount * integerPartWidth - semantics->precision + 1; in isSignificandAllZerosExceptMSB()
1126 exponent = ourSemantics.precision - 1; in IEEEFloat()
1153 return partCountForBits(semantics->precision + 1); in partCount()
1215 unsigned int partsCount, newPartsCount, precision; in multiplySignificand() local
1224 precision = semantics->precision; in multiplySignificand()
1228 newPartsCount = partCountForBits(precision * 2 + 1); in multiplySignificand()
1268 extendedPrecision = 2 * precision + 1; in multiplySignificand()
1278 extendedSemantics.precision = extendedPrecision; in multiplySignificand()
1316 exponent -= precision + 1; in multiplySignificand()
1325 if (omsb > precision) { in multiplySignificand()
1329 bits = omsb - precision; in multiplySignificand()
1378 unsigned int precision = semantics->precision; in divideSignificand() local
1381 bit = precision - APInt::tcMSB(divisor, partsCount) - 1; in divideSignificand()
1388 bit = precision - APInt::tcMSB(dividend, partsCount) - 1; in divideSignificand()
1404 for (bit = precision; bit; bit -= 1) { in divideSignificand()
1451 assert(bits < semantics->precision); in shiftSignificandLeft()
1523 semantics->precision); in handleOverflow()
1589 exponentChange = omsb - semantics->precision; in normalize()
1658 if (omsb == (unsigned) semantics->precision + 1) { in normalize()
1684 if (omsb == semantics->precision) in normalize()
1688 assert(omsb < semantics->precision); in normalize()
2156 extendedSemantics.precision += 2; in remainder()
2450 newPartCount = partCountForBits(toSemantics.precision + 1); in convert()
2452 shift = toSemantics.precision - fromSemantics.precision; in convert()
2473 int exponentChange = omsb - fromSemantics.precision; in convert()
2543 APInt::tcSetBit(significandParts(), semantics->precision - 1); in convert()
2617 truncatedBits = semantics->precision -1U - exponent; in convertToSignExtendedInteger()
2627 if (bits < semantics->precision) { in convertToSignExtendedInteger()
2629 truncatedBits = semantics->precision - bits; in convertToSignExtendedInteger()
2633 APInt::tcExtract(parts.data(), dstPartsCount, src, semantics->precision, in convertToSignExtendedInteger()
2636 bits - semantics->precision); in convertToSignExtendedInteger()
2733 unsigned int omsb, precision, dstCount; in convertFromUnsignedParts() local
2741 precision = semantics->precision; in convertFromUnsignedParts()
2745 if (precision <= omsb) { in convertFromUnsignedParts()
2748 omsb - precision); in convertFromUnsignedParts()
2749 APInt::tcExtract(dst, dstCount, src, precision, omsb - precision); in convertFromUnsignedParts()
2751 exponent = precision - 1; in convertFromUnsignedParts()
2899 expAdjustment += semantics->precision; in convertFromHexadecimalString()
2924 parts = partCountForBits(semantics->precision + 11); in roundSignificandWithExponent()
2933 calcSemantics.precision = parts * integerPartWidth - 1; in roundSignificandWithExponent()
2934 excessPrecision = calcSemantics.precision - semantics->precision; in roundSignificandWithExponent()
2962 if (excessPrecision > calcSemantics.precision) in roundSignificandWithExponent()
2963 excessPrecision = calcSemantics.precision; in roundSignificandWithExponent()
2972 (decSig.significandParts(), calcSemantics.precision - 1) == 1); in roundSignificandWithExponent()
2982 calcSemantics.precision - excessPrecision, in roundSignificandWithExponent()
2987 exponent = (decSig.exponent + semantics->precision in roundSignificandWithExponent()
2988 - (calcSemantics.precision - excessPrecision)); in roundSignificandWithExponent()
3048 8651 * (semantics->minExponent - (int) semantics->precision)) { in convertFromDecimalString()
3311 valueBits = semantics->precision + 3; in convertNormalToHexString()
3398 Arg.semantics->precision); in hash_value()
3402 Arg.semantics->precision, Arg.exponent, in hash_value()
3501 constexpr unsigned int trailing_significand_bits = S.precision - 1; in convertIEEEFloatToAPInt()
3738 << ((S.precision - 1) % integerPartWidth); in initFromIEEEAPInt()
3740 constexpr unsigned int trailing_significand_bits = S.precision - 1; in initFromIEEEAPInt()
3913 PartCount*integerPartWidth - semantics->precision; in makeLargest()
3946 APInt::tcSetBit(significandParts(), semantics->precision - 1); in makeSmallestNormalized()
4081 int exp = exponent - ((int) semantics->precision - 1); in toString()
4083 semantics->precision, in toString()
4084 ArrayRef(significandParts(), partCountForBits(semantics->precision))); in toString()
4096 FormatPrecision = 2 + semantics->precision * 59 / 196; in toString()
4109 significand = significand.zext(semantics->precision + exp); in toString()
4124 unsigned precision = semantics->precision + (137 * texp + 136) / 59; in toString() local
4128 significand = significand.zext(precision); in toString()
4129 APInt five_to_the_i(precision, 5); in toString()
4144 unsigned precision = significand.getBitWidth(); in toString() local
4145 if (precision < 4) { in toString()
4147 precision = 4; in toString()
4148 significand = significand.zext(precision); in toString()
4150 APInt ten(precision, 10); in toString()
4151 APInt digit(precision, 0); in toString()
4273 if (significandLSB() != semantics->precision - 1) in getExactInverse()
4287 reciprocal.significandLSB() == reciprocal.semantics->precision - 1); in getExactInverse()
4300 const int PartCount = partCountForBits(semantics->precision); in getExactLog2Abs()
4316 return exponent - semantics->precision + CountrParts + in getExactLog2Abs()
4332 return !APInt::tcExtractBit(significandParts(), semantics->precision - 2); in isSignaling()
4427 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
4444 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
4501 APInt::tcSetBit(significandParts(), semantics->precision - 2); in makeQuiet()
4515 int SignificandBits = Arg.getSemantics().precision - 1; in ilogb()
4532 int SignificandBits = X.getSemantics().precision - 1; in scalbn()