Lines Matching refs:semantics

211   unsigned int APFloatBase::semanticsPrecision(const fltSemantics &semantics) {  in semanticsPrecision()  argument
212 return semantics.precision; in semanticsPrecision()
215 APFloatBase::semanticsMaxExponent(const fltSemantics &semantics) { in semanticsMaxExponent() argument
216 return semantics.maxExponent; in semanticsMaxExponent()
219 APFloatBase::semanticsMinExponent(const fltSemantics &semantics) { in semanticsMinExponent() argument
220 return semantics.minExponent; in semanticsMinExponent()
222 unsigned int APFloatBase::semanticsSizeInBits(const fltSemantics &semantics) { in semanticsSizeInBits() argument
223 return semantics.sizeInBits; in semanticsSizeInBits()
730 semantics = ourSemantics; in initialize()
742 assert(semantics == rhs.semantics); in assign()
778 unsigned bitsToPreserve = semantics->precision - 1; in makeNaN()
786 unsigned QNaNBit = semantics->precision - 2; in makeNaN()
805 if (semantics == &semX87DoubleExtended) in makeNaN()
811 if (semantics != rhs.semantics) { in operator =()
813 initialize(rhs.semantics); in operator =()
824 semantics = rhs.semantics; in operator =()
830 rhs.semantics = &semBogus; in operator =()
835 return isFiniteNonZero() && (exponent == semantics->minExponent) && in isDenormal()
837 semantics->precision - 1) == 0); in isDenormal()
844 return isFiniteNonZero() && exponent == semantics->minExponent && in isSmallest()
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()
896 return isFiniteNonZero() && exponent == semantics->maxExponent in isLargest()
911 if (semantics != rhs.semantics || in bitwiseIsEqual()
946 initialize(rhs.semantics); in IEEEFloat()
950 IEEEFloat::IEEEFloat(IEEEFloat &&rhs) : semantics(&semBogus) { in IEEEFloat()
957 return partCountForBits(semantics->precision + 1); in partCount()
992 assert(semantics == rhs.semantics); in addSignificand()
1006 assert(semantics == rhs.semantics); in subtractSignificand()
1026 assert(semantics == rhs.semantics); in multiplySignificand()
1028 precision = semantics->precision; in multiplySignificand()
1066 const fltSemantics *savedSemantics = semantics; in multiplySignificand()
1081 extendedSemantics = *semantics; in multiplySignificand()
1088 semantics = &extendedSemantics; in multiplySignificand()
1111 semantics = savedSemantics; in multiplySignificand()
1149 return multiplySignificand(rhs, IEEEFloat(*semantics)); in multiplySignificand()
1160 assert(semantics == rhs.semantics); in divideSignificand()
1182 unsigned int precision = semantics->precision; in divideSignificand()
1255 assert(bits < semantics->precision); in shiftSignificandLeft()
1271 assert(semantics == rhs.semantics); in compareAbsoluteValue()
1322 exponent = semantics->maxExponent; in handleOverflow()
1324 semantics->precision); in handleOverflow()
1387 exponentChange = omsb - semantics->precision; in normalize()
1391 if (exponent + exponentChange > semantics->maxExponent) in normalize()
1396 if (exponent + exponentChange < semantics->minExponent) in normalize()
1397 exponentChange = semantics->minExponent - exponent; in normalize()
1440 exponent = semantics->minExponent; in normalize()
1446 if (omsb == (unsigned) semantics->precision + 1) { in normalize()
1450 if (exponent == semantics->maxExponent) { in normalize()
1464 if (omsb == semantics->precision) in normalize()
1468 assert(omsb < semantics->precision); in normalize()
1915 fltSemantics extendedSemantics = *semantics; in remainder()
2074 if (exponent+1 >= (int)semanticsPrecision(*semantics)) in roundToIntegral()
2083 APInt IntegerConstant(NextPowerOf2(semanticsPrecision(*semantics)), 1); in roundToIntegral()
2084 IntegerConstant <<= semanticsPrecision(*semantics)-1; in roundToIntegral()
2085 IEEEFloat MagicConstant(*semantics); in roundToIntegral()
2113 assert(semantics == rhs.semantics); in compare()
2194 const fltSemantics &fromSemantics = *semantics; in convert()
2259 semantics = &toSemantics; in convert()
2274 if (!X86SpecialNan && semantics == &semX87DoubleExtended) in convert()
2275 APInt::tcSetBit(significandParts(), semantics->precision - 1); in convert()
2336 truncatedBits = semantics->precision -1U - exponent; in convertToSignExtendedInteger()
2346 if (bits < semantics->precision) { in convertToSignExtendedInteger()
2348 truncatedBits = semantics->precision - bits; in convertToSignExtendedInteger()
2352 APInt::tcExtract(parts.data(), dstPartsCount, src, semantics->precision, in convertToSignExtendedInteger()
2355 bits - semantics->precision); in convertToSignExtendedInteger()
2460 precision = semantics->precision; in convertFromUnsignedParts()
2618 expAdjustment += semantics->precision; in convertFromHexadecimalString()
2643 parts = partCountForBits(semantics->precision + 11); in roundSignificandWithExponent()
2653 excessPrecision = calcSemantics.precision - semantics->precision; in roundSignificandWithExponent()
2678 if (decSig.exponent < semantics->minExponent) { in roundSignificandWithExponent()
2679 excessPrecision += (semantics->minExponent - decSig.exponent); in roundSignificandWithExponent()
2706 exponent = (decSig.exponent + semantics->precision in roundSignificandWithExponent()
2765 8651 * (semantics->minExponent - (int) semantics->precision)) { in convertFromDecimalString()
2773 >= 12655 * semantics->maxExponent) { in convertFromDecimalString()
3028 valueBits = semantics->precision + 3; in convertNormalToHexString()
3115 Arg.semantics->precision); in hash_value()
3119 Arg.semantics->precision, Arg.exponent, in hash_value()
3135 assert(semantics == (const llvm::fltSemantics*)&semX87DoubleExtended); in convertF80LongDoubleAPFloatToAPInt()
3165 assert(semantics == (const llvm::fltSemantics *)&semPPCDoubleDoubleLegacy); in convertPPCDoubleDoubleAPFloatToAPInt()
3178 fltSemantics extendedSemantics = *semantics; in convertPPCDoubleDoubleAPFloatToAPInt()
3214 assert(semantics == (const llvm::fltSemantics*)&semIEEEquad); in convertQuadrupleAPFloatToAPInt()
3248 assert(semantics == (const llvm::fltSemantics*)&semIEEEdouble); in convertDoubleAPFloatToAPInt()
3276 assert(semantics == (const llvm::fltSemantics*)&semIEEEsingle); in convertFloatAPFloatToAPInt()
3303 assert(semantics == (const llvm::fltSemantics *)&semBFloat); in convertBFloatAPFloatToAPInt()
3330 assert(semantics == (const llvm::fltSemantics*)&semIEEEhalf); in convertHalfAPFloatToAPInt()
3361 if (semantics == (const llvm::fltSemantics*)&semIEEEhalf) in bitcastToAPInt()
3364 if (semantics == (const llvm::fltSemantics *)&semBFloat) in bitcastToAPInt()
3367 if (semantics == (const llvm::fltSemantics*)&semIEEEsingle) in bitcastToAPInt()
3370 if (semantics == (const llvm::fltSemantics*)&semIEEEdouble) in bitcastToAPInt()
3373 if (semantics == (const llvm::fltSemantics*)&semIEEEquad) in bitcastToAPInt()
3376 if (semantics == (const llvm::fltSemantics *)&semPPCDoubleDoubleLegacy) in bitcastToAPInt()
3379 assert(semantics == (const llvm::fltSemantics*)&semX87DoubleExtended && in bitcastToAPInt()
3385 assert(semantics == (const llvm::fltSemantics*)&semIEEEsingle && in convertToFloat()
3392 assert(semantics == (const llvm::fltSemantics*)&semIEEEdouble && in convertToDouble()
3639 exponent = semantics->maxExponent; in makeLargest()
3649 PartCount*integerPartWidth - semantics->precision; in makeLargest()
3664 exponent = semantics->minExponent; in makeSmallest()
3677 exponent = semantics->minExponent; in makeSmallestNormalized()
3678 significandParts()[partCountForBits(semantics->precision) - 1] |= in makeSmallestNormalized()
3679 (((integerPart)1) << ((semantics->precision - 1) % integerPartWidth)); in makeSmallestNormalized()
3814 int exp = exponent - ((int) semantics->precision - 1); in toString()
3815 APInt significand(semantics->precision, in toString()
3817 partCountForBits(semantics->precision))); in toString()
3829 FormatPrecision = 2 + semantics->precision * 59 / 196; in toString()
3842 significand = significand.zext(semantics->precision + exp); in toString()
3857 unsigned precision = semantics->precision + (137 * texp + 136) / 59; in toString()
4001 if (significandLSB() != semantics->precision - 1) in getExactInverse()
4005 IEEEFloat reciprocal(*semantics, 1ULL); in getExactInverse()
4015 reciprocal.significandLSB() == reciprocal.semantics->precision - 1); in getExactInverse()
4018 *inv = APFloat(reciprocal, *semantics); in getExactInverse()
4029 return !APInt::tcExtractBit(significandParts(), semantics->precision - 2); in isSignaling()
4080 exponent = semantics->maxExponent + 1; in next()
4094 exponent != semantics->minExponent && isSignificandAllZeros(); in next()
4116 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
4133 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
4134 assert(exponent != semantics->maxExponent && in next()
4153 return semantics->maxExponent + 1; in exponentNaN()
4157 return semantics->maxExponent + 1; in exponentInf()
4161 return semantics->minExponent - 1; in exponentZero()
4180 APInt::tcSetBit(significandParts(), semantics->precision - 2); in makeQuiet()