Lines Matching refs:precision

65     unsigned int precision;  member
74 precision <= S.precision; in isRepresentableBy()
212 return semantics.precision; in semanticsPrecision()
778 unsigned bitsToPreserve = semantics->precision - 1; in makeNaN()
786 unsigned QNaNBit = semantics->precision - 2; in makeNaN()
837 semantics->precision - 1) == 0); in isDenormal()
852 const unsigned PartCount = partCountForBits(semantics->precision); in isSignificandAllOnes()
859 PartCount*integerPartWidth - semantics->precision + 1; in isSignificandAllOnes()
874 const unsigned PartCount = partCountForBits(semantics->precision); in isSignificandAllZeros()
882 PartCount*integerPartWidth - semantics->precision + 1; in isSignificandAllZeros()
930 exponent = ourSemantics.precision - 1; in IEEEFloat()
957 return partCountForBits(semantics->precision + 1); in partCount()
1019 unsigned int partsCount, newPartsCount, precision; in multiplySignificand() local
1028 precision = semantics->precision; in multiplySignificand()
1032 newPartsCount = partCountForBits(precision * 2 + 1); in multiplySignificand()
1072 extendedPrecision = 2 * precision + 1; in multiplySignificand()
1082 extendedSemantics.precision = extendedPrecision; in multiplySignificand()
1120 exponent -= precision + 1; in multiplySignificand()
1129 if (omsb > precision) { in multiplySignificand()
1133 bits = omsb - precision; in multiplySignificand()
1182 unsigned int precision = semantics->precision; in divideSignificand() local
1185 bit = precision - APInt::tcMSB(divisor, partsCount) - 1; in divideSignificand()
1192 bit = precision - APInt::tcMSB(dividend, partsCount) - 1; in divideSignificand()
1208 for (bit = precision; bit; bit -= 1) { in divideSignificand()
1255 assert(bits < semantics->precision); in shiftSignificandLeft()
1307 semantics->precision); in handleOverflow()
1370 exponentChange = omsb - semantics->precision; in normalize()
1429 if (omsb == (unsigned) semantics->precision + 1) { in normalize()
1447 if (omsb == semantics->precision) in normalize()
1451 assert(omsb < semantics->precision); in normalize()
1901 extendedSemantics.precision += 2; in remainder()
2180 newPartCount = partCountForBits(toSemantics.precision + 1); in convert()
2182 shift = toSemantics.precision - fromSemantics.precision; in convert()
2200 int exponentChange = significandMSB() + 1 - fromSemantics.precision; in convert()
2251 APInt::tcSetBit(significandParts(), semantics->precision - 1); in convert()
2312 truncatedBits = semantics->precision -1U - exponent; in convertToSignExtendedInteger()
2322 if (bits < semantics->precision) { in convertToSignExtendedInteger()
2324 truncatedBits = semantics->precision - bits; in convertToSignExtendedInteger()
2328 APInt::tcExtract(parts.data(), dstPartsCount, src, semantics->precision, in convertToSignExtendedInteger()
2331 bits - semantics->precision); in convertToSignExtendedInteger()
2428 unsigned int omsb, precision, dstCount; in convertFromUnsignedParts() local
2436 precision = semantics->precision; in convertFromUnsignedParts()
2440 if (precision <= omsb) { in convertFromUnsignedParts()
2443 omsb - precision); in convertFromUnsignedParts()
2444 APInt::tcExtract(dst, dstCount, src, precision, omsb - precision); in convertFromUnsignedParts()
2446 exponent = precision - 1; in convertFromUnsignedParts()
2594 expAdjustment += semantics->precision; in convertFromHexadecimalString()
2619 parts = partCountForBits(semantics->precision + 11); in roundSignificandWithExponent()
2628 calcSemantics.precision = parts * integerPartWidth - 1; in roundSignificandWithExponent()
2629 excessPrecision = calcSemantics.precision - semantics->precision; in roundSignificandWithExponent()
2657 if (excessPrecision > calcSemantics.precision) in roundSignificandWithExponent()
2658 excessPrecision = calcSemantics.precision; in roundSignificandWithExponent()
2667 (decSig.significandParts(), calcSemantics.precision - 1) == 1); in roundSignificandWithExponent()
2677 calcSemantics.precision - excessPrecision, in roundSignificandWithExponent()
2682 exponent = (decSig.exponent + semantics->precision in roundSignificandWithExponent()
2683 - (calcSemantics.precision - excessPrecision)); in roundSignificandWithExponent()
2741 8651 * (semantics->minExponent - (int) semantics->precision)) { in convertFromDecimalString()
3004 valueBits = semantics->precision + 3; in convertNormalToHexString()
3091 Arg.semantics->precision); in hash_value()
3095 Arg.semantics->precision, Arg.exponent, in hash_value()
3631 PartCount*integerPartWidth - semantics->precision; in makeLargest()
3660 significandParts()[partCountForBits(semantics->precision) - 1] |= in makeSmallestNormalized()
3661 (((integerPart)1) << ((semantics->precision - 1) % integerPartWidth)); in makeSmallestNormalized()
3796 int exp = exponent - ((int) semantics->precision - 1); in toString()
3797 APInt significand(semantics->precision, in toString()
3799 partCountForBits(semantics->precision))); in toString()
3811 FormatPrecision = 2 + semantics->precision * 59 / 196; in toString()
3824 significand = significand.zext(semantics->precision + exp); in toString()
3839 unsigned precision = semantics->precision + (137 * texp + 136) / 59; in toString() local
3843 significand = significand.zext(precision); in toString()
3844 APInt five_to_the_i(precision, 5); in toString()
3859 unsigned precision = significand.getBitWidth(); in toString() local
3860 APInt ten(precision, 10); in toString()
3861 APInt digit(precision, 0); in toString()
3983 if (significandLSB() != semantics->precision - 1) in getExactInverse()
3997 reciprocal.significandLSB() == reciprocal.semantics->precision - 1); in getExactInverse()
4011 return !APInt::tcExtractBit(significandParts(), semantics->precision - 2); in isSignaling()
4098 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
4115 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
4162 APInt::tcSetBit(significandParts(), semantics->precision - 2); in makeQuiet()
4176 int SignificandBits = Arg.getSemantics().precision - 1; in ilogb()
4193 int SignificandBits = X.getSemantics().precision - 1; in scalbn()