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()
1305 exponent = semantics->maxExponent; in handleOverflow()
1307 semantics->precision); in handleOverflow()
1370 exponentChange = omsb - semantics->precision; in normalize()
1374 if (exponent + exponentChange > semantics->maxExponent) in normalize()
1379 if (exponent + exponentChange < semantics->minExponent) in normalize()
1380 exponentChange = semantics->minExponent - exponent; in normalize()
1423 exponent = semantics->minExponent; in normalize()
1429 if (omsb == (unsigned) semantics->precision + 1) { in normalize()
1433 if (exponent == semantics->maxExponent) { in normalize()
1447 if (omsb == semantics->precision) in normalize()
1451 assert(omsb < semantics->precision); in normalize()
1898 fltSemantics extendedSemantics = *semantics; in remainder()
2057 if (exponent+1 >= (int)semanticsPrecision(*semantics)) in roundToIntegral()
2066 APInt IntegerConstant(NextPowerOf2(semanticsPrecision(*semantics)), 1); in roundToIntegral()
2067 IntegerConstant <<= semanticsPrecision(*semantics)-1; in roundToIntegral()
2068 IEEEFloat MagicConstant(*semantics); in roundToIntegral()
2096 assert(semantics == rhs.semantics); in compare()
2177 const fltSemantics &fromSemantics = *semantics; in convert()
2235 semantics = &toSemantics; in convert()
2250 if (!X86SpecialNan && semantics == &semX87DoubleExtended) 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()
2436 precision = semantics->precision; in convertFromUnsignedParts()
2594 expAdjustment += semantics->precision; in convertFromHexadecimalString()
2619 parts = partCountForBits(semantics->precision + 11); in roundSignificandWithExponent()
2629 excessPrecision = calcSemantics.precision - semantics->precision; in roundSignificandWithExponent()
2654 if (decSig.exponent < semantics->minExponent) { in roundSignificandWithExponent()
2655 excessPrecision += (semantics->minExponent - decSig.exponent); in roundSignificandWithExponent()
2682 exponent = (decSig.exponent + semantics->precision in roundSignificandWithExponent()
2741 8651 * (semantics->minExponent - (int) semantics->precision)) { in convertFromDecimalString()
2749 >= 12655 * semantics->maxExponent) { 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()
3111 assert(semantics == (const llvm::fltSemantics*)&semX87DoubleExtended); in convertF80LongDoubleAPFloatToAPInt()
3141 assert(semantics == (const llvm::fltSemantics *)&semPPCDoubleDoubleLegacy); in convertPPCDoubleDoubleAPFloatToAPInt()
3154 fltSemantics extendedSemantics = *semantics; in convertPPCDoubleDoubleAPFloatToAPInt()
3190 assert(semantics == (const llvm::fltSemantics*)&semIEEEquad); in convertQuadrupleAPFloatToAPInt()
3224 assert(semantics == (const llvm::fltSemantics*)&semIEEEdouble); in convertDoubleAPFloatToAPInt()
3252 assert(semantics == (const llvm::fltSemantics*)&semIEEEsingle); in convertFloatAPFloatToAPInt()
3279 assert(semantics == (const llvm::fltSemantics *)&semBFloat); in convertBFloatAPFloatToAPInt()
3306 assert(semantics == (const llvm::fltSemantics*)&semIEEEhalf); in convertHalfAPFloatToAPInt()
3337 if (semantics == (const llvm::fltSemantics*)&semIEEEhalf) in bitcastToAPInt()
3340 if (semantics == (const llvm::fltSemantics *)&semBFloat) in bitcastToAPInt()
3343 if (semantics == (const llvm::fltSemantics*)&semIEEEsingle) in bitcastToAPInt()
3346 if (semantics == (const llvm::fltSemantics*)&semIEEEdouble) in bitcastToAPInt()
3349 if (semantics == (const llvm::fltSemantics*)&semIEEEquad) in bitcastToAPInt()
3352 if (semantics == (const llvm::fltSemantics *)&semPPCDoubleDoubleLegacy) in bitcastToAPInt()
3355 assert(semantics == (const llvm::fltSemantics*)&semX87DoubleExtended && in bitcastToAPInt()
3361 assert(semantics == (const llvm::fltSemantics*)&semIEEEsingle && in convertToFloat()
3368 assert(semantics == (const llvm::fltSemantics*)&semIEEEdouble && in convertToDouble()
3621 exponent = semantics->maxExponent; in makeLargest()
3631 PartCount*integerPartWidth - semantics->precision; in makeLargest()
3646 exponent = semantics->minExponent; in makeSmallest()
3659 exponent = semantics->minExponent; in makeSmallestNormalized()
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()
3983 if (significandLSB() != semantics->precision - 1) in getExactInverse()
3987 IEEEFloat reciprocal(*semantics, 1ULL); in getExactInverse()
3997 reciprocal.significandLSB() == reciprocal.semantics->precision - 1); in getExactInverse()
4000 *inv = APFloat(reciprocal, *semantics); in getExactInverse()
4011 return !APInt::tcExtractBit(significandParts(), semantics->precision - 2); in isSignaling()
4062 exponent = semantics->maxExponent + 1; in next()
4076 exponent != semantics->minExponent && isSignificandAllZeros(); in next()
4098 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
4115 APInt::tcSetBit(Parts, semantics->precision - 1); in next()
4116 assert(exponent != semantics->maxExponent && in next()
4135 return semantics->maxExponent + 1; in exponentNaN()
4139 return semantics->maxExponent + 1; in exponentInf()
4143 return semantics->minExponent - 1; in exponentZero()
4162 APInt::tcSetBit(significandParts(), semantics->precision - 2); in makeQuiet()