Lines Matching refs:precision

66     unsigned int precision;  member
156 return semantics.precision; in semanticsPrecision()
704 unsigned bitsToPreserve = semantics->precision - 1; in makeNaN()
712 unsigned QNaNBit = semantics->precision - 2; in makeNaN()
763 semantics->precision - 1) == 0); in isDenormal()
785 PartCount*integerPartWidth - semantics->precision + 1; in isSignificandAllOnes()
807 PartCount*integerPartWidth - semantics->precision + 1; in isSignificandAllZeros()
855 exponent = ourSemantics.precision - 1; in IEEEFloat()
883 return partCountForBits(semantics->precision + 1); in partCount()
945 unsigned int partsCount, newPartsCount, precision; in multiplySignificand() local
954 precision = semantics->precision; in multiplySignificand()
958 newPartsCount = partCountForBits(precision * 2 + 1); in multiplySignificand()
998 extendedPrecision = 2 * precision + 1; in multiplySignificand()
1008 extendedSemantics.precision = extendedPrecision; in multiplySignificand()
1043 exponent -= precision + 1; in multiplySignificand()
1052 if (omsb > precision) { in multiplySignificand()
1056 bits = omsb - precision; in multiplySignificand()
1101 unsigned int precision = semantics->precision; in divideSignificand() local
1104 bit = precision - APInt::tcMSB(divisor, partsCount) - 1; in divideSignificand()
1111 bit = precision - APInt::tcMSB(dividend, partsCount) - 1; in divideSignificand()
1127 for (bit = precision; bit; bit -= 1) { in divideSignificand()
1174 assert(bits < semantics->precision); in shiftSignificandLeft()
1226 semantics->precision); in handleOverflow()
1286 exponentChange = omsb - semantics->precision; in normalize()
1345 if (omsb == (unsigned) semantics->precision + 1) { in normalize()
1363 if (omsb == semantics->precision) in normalize()
1367 assert(omsb < semantics->precision); in normalize()
1938 newPartCount = partCountForBits(toSemantics.precision + 1); in convert()
1940 shift = toSemantics.precision - fromSemantics.precision; in convert()
1958 int exponentChange = significandMSB() + 1 - fromSemantics.precision; in convert()
2009 APInt::tcSetBit(significandParts(), semantics->precision - 1); in convert()
2066 truncatedBits = semantics->precision -1U - exponent; in convertToSignExtendedInteger()
2076 if (bits < semantics->precision) { in convertToSignExtendedInteger()
2078 truncatedBits = semantics->precision - bits; in convertToSignExtendedInteger()
2082 APInt::tcExtract(parts.data(), dstPartsCount, src, semantics->precision, in convertToSignExtendedInteger()
2085 bits - semantics->precision); in convertToSignExtendedInteger()
2182 unsigned int omsb, precision, dstCount; in convertFromUnsignedParts() local
2190 precision = semantics->precision; in convertFromUnsignedParts()
2194 if (precision <= omsb) { in convertFromUnsignedParts()
2197 omsb - precision); in convertFromUnsignedParts()
2198 APInt::tcExtract(dst, dstCount, src, precision, omsb - precision); in convertFromUnsignedParts()
2200 exponent = precision - 1; in convertFromUnsignedParts()
2337 expAdjustment += semantics->precision; in convertFromHexadecimalString()
2359 parts = partCountForBits(semantics->precision + 11); in roundSignificandWithExponent()
2368 calcSemantics.precision = parts * integerPartWidth - 1; in roundSignificandWithExponent()
2369 excessPrecision = calcSemantics.precision - semantics->precision; in roundSignificandWithExponent()
2397 if (excessPrecision > calcSemantics.precision) in roundSignificandWithExponent()
2398 excessPrecision = calcSemantics.precision; in roundSignificandWithExponent()
2407 (decSig.significandParts(), calcSemantics.precision - 1) == 1); in roundSignificandWithExponent()
2417 calcSemantics.precision - excessPrecision, in roundSignificandWithExponent()
2422 exponent = (decSig.exponent + semantics->precision in roundSignificandWithExponent()
2423 - (calcSemantics.precision - excessPrecision)); in roundSignificandWithExponent()
2480 8651 * (semantics->minExponent - (int) semantics->precision)) { in convertFromDecimalString()
2691 valueBits = semantics->precision + 3; in convertNormalToHexString()
2778 Arg.semantics->precision); in hash_value()
2782 Arg.semantics->precision, Arg.exponent, in hash_value()
3267 PartCount*integerPartWidth - semantics->precision; in makeLargest()
3296 significandParts()[partCountForBits(semantics->precision) - 1] |= in makeSmallestNormalized()
3297 (((integerPart)1) << ((semantics->precision - 1) % integerPartWidth)); in makeSmallestNormalized()
3432 int exp = exponent - ((int) semantics->precision - 1); in toString()
3433 APInt significand(semantics->precision, in toString()
3435 partCountForBits(semantics->precision))); in toString()
3447 FormatPrecision = 2 + semantics->precision * 59 / 196; in toString()
3460 significand = significand.zext(semantics->precision + exp); in toString()
3475 unsigned precision = semantics->precision + (137 * texp + 136) / 59; in toString() local
3479 significand = significand.zext(precision); in toString()
3480 APInt five_to_the_i(precision, 5); in toString()
3495 unsigned precision = significand.getBitWidth(); in toString() local
3496 APInt ten(precision, 10); in toString()
3497 APInt digit(precision, 0); in toString()
3619 if (significandLSB() != semantics->precision - 1) in getExactInverse()
3633 reciprocal.significandLSB() == reciprocal.semantics->precision - 1); in getExactInverse()
3647 return !APInt::tcExtractBit(significandParts(), semantics->precision - 2); in isSignaling()
3734 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
3751 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
3786 APInt::tcSetBit(significandParts(), semantics->precision - 2); in makeQuiet()
3800 int SignificandBits = Arg.getSemantics().precision - 1; in ilogb()
3817 int SignificandBits = X.getSemantics().precision - 1; in scalbn()