Lines Matching refs:semantics
155 unsigned int APFloatBase::semanticsPrecision(const fltSemantics &semantics) { in semanticsPrecision() argument
156 return semantics.precision; in semanticsPrecision()
159 APFloatBase::semanticsMaxExponent(const fltSemantics &semantics) { in semanticsMaxExponent() argument
160 return semantics.maxExponent; in semanticsMaxExponent()
163 APFloatBase::semanticsMinExponent(const fltSemantics &semantics) { in semanticsMinExponent() argument
164 return semantics.minExponent; in semanticsMinExponent()
166 unsigned int APFloatBase::semanticsSizeInBits(const fltSemantics &semantics) { in semanticsSizeInBits() argument
167 return semantics.sizeInBits; in semanticsSizeInBits()
657 semantics = ourSemantics; in initialize()
669 assert(semantics == rhs.semantics); in assign()
704 unsigned bitsToPreserve = semantics->precision - 1; in makeNaN()
712 unsigned QNaNBit = semantics->precision - 2; in makeNaN()
731 if (semantics == &semX87DoubleExtended) in makeNaN()
737 if (semantics != rhs.semantics) { in operator =()
739 initialize(rhs.semantics); in operator =()
750 semantics = rhs.semantics; in operator =()
756 rhs.semantics = &semBogus; in operator =()
761 return isFiniteNonZero() && (exponent == semantics->minExponent) && in isDenormal()
763 semantics->precision - 1) == 0); in isDenormal()
770 return isFiniteNonZero() && exponent == semantics->minExponent && in isSmallest()
785 PartCount*integerPartWidth - semantics->precision + 1; in isSignificandAllOnes()
807 PartCount*integerPartWidth - semantics->precision + 1; in isSignificandAllZeros()
821 return isFiniteNonZero() && exponent == semantics->maxExponent in isLargest()
836 if (semantics != rhs.semantics || in bitwiseIsEqual()
872 initialize(rhs.semantics); in IEEEFloat()
876 IEEEFloat::IEEEFloat(IEEEFloat &&rhs) : semantics(&semBogus) { in IEEEFloat()
883 return partCountForBits(semantics->precision + 1); in partCount()
918 assert(semantics == rhs.semantics); in addSignificand()
932 assert(semantics == rhs.semantics); in subtractSignificand()
952 assert(semantics == rhs.semantics); in multiplySignificand()
954 precision = semantics->precision; in multiplySignificand()
992 const fltSemantics *savedSemantics = semantics; in multiplySignificand()
1007 extendedSemantics = *semantics; in multiplySignificand()
1014 semantics = &extendedSemantics; in multiplySignificand()
1034 semantics = savedSemantics; in multiplySignificand()
1079 assert(semantics == rhs.semantics); in divideSignificand()
1101 unsigned int precision = semantics->precision; in divideSignificand()
1174 assert(bits < semantics->precision); in shiftSignificandLeft()
1190 assert(semantics == rhs.semantics); in compareAbsoluteValue()
1224 exponent = semantics->maxExponent; in handleOverflow()
1226 semantics->precision); in handleOverflow()
1286 exponentChange = omsb - semantics->precision; in normalize()
1290 if (exponent + exponentChange > semantics->maxExponent) in normalize()
1295 if (exponent + exponentChange < semantics->minExponent) in normalize()
1296 exponentChange = semantics->minExponent - exponent; in normalize()
1339 exponent = semantics->minExponent; in normalize()
1345 if (omsb == (unsigned) semantics->precision + 1) { in normalize()
1349 if (exponent == semantics->maxExponent) { in normalize()
1363 if (omsb == semantics->precision) in normalize()
1367 assert(omsb < semantics->precision); in normalize()
1814 if (isFiniteNonZero() && exponent+1 >= (int)semanticsPrecision(*semantics)) in roundToIntegral()
1823 APInt IntegerConstant(NextPowerOf2(semanticsPrecision(*semantics)), 1); in roundToIntegral()
1824 IntegerConstant <<= semanticsPrecision(*semantics)-1; in roundToIntegral()
1825 IEEEFloat MagicConstant(*semantics); in roundToIntegral()
1854 assert(semantics == rhs.semantics); in compare()
1935 const fltSemantics &fromSemantics = *semantics; in convert()
1993 semantics = &toSemantics; in convert()
2008 if (!X86SpecialNan && semantics == &semX87DoubleExtended) 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()
2190 precision = semantics->precision; in convertFromUnsignedParts()
2337 expAdjustment += semantics->precision; in convertFromHexadecimalString()
2359 parts = partCountForBits(semantics->precision + 11); in roundSignificandWithExponent()
2369 excessPrecision = calcSemantics.precision - semantics->precision; in roundSignificandWithExponent()
2394 if (decSig.exponent < semantics->minExponent) { in roundSignificandWithExponent()
2395 excessPrecision += (semantics->minExponent - decSig.exponent); in roundSignificandWithExponent()
2422 exponent = (decSig.exponent + semantics->precision in roundSignificandWithExponent()
2480 8651 * (semantics->minExponent - (int) semantics->precision)) { in convertFromDecimalString()
2488 >= 12655 * semantics->maxExponent) { 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()
2798 assert(semantics == (const llvm::fltSemantics*)&semX87DoubleExtended); in convertF80LongDoubleAPFloatToAPInt()
2828 assert(semantics == (const llvm::fltSemantics *)&semPPCDoubleDoubleLegacy); in convertPPCDoubleDoubleAPFloatToAPInt()
2841 fltSemantics extendedSemantics = *semantics; in convertPPCDoubleDoubleAPFloatToAPInt()
2877 assert(semantics == (const llvm::fltSemantics*)&semIEEEquad); in convertQuadrupleAPFloatToAPInt()
2911 assert(semantics == (const llvm::fltSemantics*)&semIEEEdouble); in convertDoubleAPFloatToAPInt()
2939 assert(semantics == (const llvm::fltSemantics*)&semIEEEsingle); in convertFloatAPFloatToAPInt()
2966 assert(semantics == (const llvm::fltSemantics*)&semIEEEhalf); in convertHalfAPFloatToAPInt()
2997 if (semantics == (const llvm::fltSemantics*)&semIEEEhalf) in bitcastToAPInt()
3000 if (semantics == (const llvm::fltSemantics*)&semIEEEsingle) in bitcastToAPInt()
3003 if (semantics == (const llvm::fltSemantics*)&semIEEEdouble) in bitcastToAPInt()
3006 if (semantics == (const llvm::fltSemantics*)&semIEEEquad) in bitcastToAPInt()
3009 if (semantics == (const llvm::fltSemantics *)&semPPCDoubleDoubleLegacy) in bitcastToAPInt()
3012 assert(semantics == (const llvm::fltSemantics*)&semX87DoubleExtended && in bitcastToAPInt()
3018 assert(semantics == (const llvm::fltSemantics*)&semIEEEsingle && in convertToFloat()
3025 assert(semantics == (const llvm::fltSemantics*)&semIEEEdouble && in convertToDouble()
3257 exponent = semantics->maxExponent; in makeLargest()
3267 PartCount*integerPartWidth - semantics->precision; in makeLargest()
3282 exponent = semantics->minExponent; in makeSmallest()
3295 exponent = semantics->minExponent; in makeSmallestNormalized()
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()
3619 if (significandLSB() != semantics->precision - 1) in getExactInverse()
3623 IEEEFloat reciprocal(*semantics, 1ULL); in getExactInverse()
3633 reciprocal.significandLSB() == reciprocal.semantics->precision - 1); in getExactInverse()
3636 *inv = APFloat(reciprocal, *semantics); in getExactInverse()
3647 return !APInt::tcExtractBit(significandParts(), semantics->precision - 2); in isSignaling()
3698 exponent = semantics->maxExponent + 1; in next()
3712 exponent != semantics->minExponent && isSignificandAllZeros(); in next()
3734 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
3751 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
3752 assert(exponent != semantics->maxExponent && in next()
3773 exponent = semantics->maxExponent + 1; in makeInf()
3780 exponent = semantics->minExponent-1; in makeZero()
3786 APInt::tcSetBit(significandParts(), semantics->precision - 2); in makeQuiet()