Lines Matching refs:APFloat
375 D->exponent += static_cast<APFloat::ExponentType>((dot - p) - (dot > p)); in interpretDecimal()
377 static_cast<APFloat::ExponentType>((p - D->firstSigDigit) in interpretDecimal()
3612 bool IEEEFloat::getExactInverse(APFloat *inv) const { in getExactInverse()
3636 *inv = APFloat(reciprocal, *semantics); in getExactInverse()
3849 Floats(new APFloat[2]{APFloat(semIEEEdouble), APFloat(semIEEEdouble)}) { in DoubleAPFloat()
3855 Floats(new APFloat[2]{APFloat(semIEEEdouble, uninitialized), in DoubleAPFloat()
3856 APFloat(semIEEEdouble, uninitialized)}) { in DoubleAPFloat()
3861 : Semantics(&S), Floats(new APFloat[2]{APFloat(semIEEEdouble, I), in DoubleAPFloat()
3862 APFloat(semIEEEdouble)}) { in DoubleAPFloat()
3868 Floats(new APFloat[2]{ in DoubleAPFloat()
3869 APFloat(semIEEEdouble, APInt(64, I.getRawData()[0])), in DoubleAPFloat()
3870 APFloat(semIEEEdouble, APInt(64, I.getRawData()[1]))}) { in DoubleAPFloat()
3874 DoubleAPFloat::DoubleAPFloat(const fltSemantics &S, APFloat &&First, in DoubleAPFloat()
3875 APFloat &&Second) in DoubleAPFloat()
3877 Floats(new APFloat[2]{std::move(First), std::move(Second)}) { in DoubleAPFloat()
3885 Floats(RHS.Floats ? new APFloat[2]{APFloat(RHS.Floats[0]), in DoubleAPFloat()
3886 APFloat(RHS.Floats[1])} in DoubleAPFloat()
3911 APFloat::opStatus DoubleAPFloat::addImpl(const APFloat &a, const APFloat &aa, in addImpl()
3912 const APFloat &c, const APFloat &cc, in addImpl()
3915 APFloat z = a; in addImpl()
3927 if (AComparedToC == APFloat::cmpGreaterThan) { in addImpl()
3942 APFloat zz = aa; in addImpl()
3944 if (AComparedToC == APFloat::cmpGreaterThan) { in addImpl()
3959 APFloat q = a; in addImpl()
3990 APFloat::opStatus DoubleAPFloat::addWithSpecial(const DoubleAPFloat &LHS, in addWithSpecial()
4025 APFloat A(LHS.Floats[0]), AA(LHS.Floats[1]), C(RHS.Floats[0]), in addWithSpecial()
4036 APFloat::opStatus DoubleAPFloat::add(const DoubleAPFloat &RHS, in add()
4041 APFloat::opStatus DoubleAPFloat::subtract(const DoubleAPFloat &RHS, in subtract()
4049 APFloat::opStatus DoubleAPFloat::multiply(const DoubleAPFloat &RHS, in multiply()
4050 APFloat::roundingMode RM) { in multiply()
4093 APFloat A = Floats[0], B = Floats[1], C = RHS.Floats[0], D = RHS.Floats[1]; in multiply()
4095 APFloat T = A; in multiply()
4104 APFloat Tau = A; in multiply()
4110 APFloat V = A; in multiply()
4113 APFloat W = B; in multiply()
4120 APFloat U = T; in multiply()
4135 APFloat::opStatus DoubleAPFloat::divide(const DoubleAPFloat &RHS, in divide()
4136 APFloat::roundingMode RM) { in divide()
4138 APFloat Tmp(semPPCDoubleDoubleLegacy, bitcastToAPInt()); in divide()
4140 Tmp.divide(APFloat(semPPCDoubleDoubleLegacy, RHS.bitcastToAPInt()), RM); in divide()
4145 APFloat::opStatus DoubleAPFloat::remainder(const DoubleAPFloat &RHS) { in remainder()
4147 APFloat Tmp(semPPCDoubleDoubleLegacy, bitcastToAPInt()); in remainder()
4149 Tmp.remainder(APFloat(semPPCDoubleDoubleLegacy, RHS.bitcastToAPInt())); in remainder()
4154 APFloat::opStatus DoubleAPFloat::mod(const DoubleAPFloat &RHS) { in mod()
4156 APFloat Tmp(semPPCDoubleDoubleLegacy, bitcastToAPInt()); in mod()
4157 auto Ret = Tmp.mod(APFloat(semPPCDoubleDoubleLegacy, RHS.bitcastToAPInt())); in mod()
4162 APFloat::opStatus
4165 APFloat::roundingMode RM) { in fusedMultiplyAdd()
4167 APFloat Tmp(semPPCDoubleDoubleLegacy, bitcastToAPInt()); in fusedMultiplyAdd()
4169 APFloat(semPPCDoubleDoubleLegacy, Multiplicand.bitcastToAPInt()), in fusedMultiplyAdd()
4170 APFloat(semPPCDoubleDoubleLegacy, Addend.bitcastToAPInt()), RM); in fusedMultiplyAdd()
4175 APFloat::opStatus DoubleAPFloat::roundToIntegral(APFloat::roundingMode RM) { in roundToIntegral()
4177 APFloat Tmp(semPPCDoubleDoubleLegacy, bitcastToAPInt()); in roundToIntegral()
4188 APFloat::cmpResult
4209 APFloat::fltCategory DoubleAPFloat::getCategory() const { in getCategory()
4227 Floats[0] = APFloat(semIEEEdouble, APInt(64, 0x7fefffffffffffffull)); in makeLargest()
4228 Floats[1] = APFloat(semIEEEdouble, APInt(64, 0x7c8ffffffffffffeull)); in makeLargest()
4241 Floats[0] = APFloat(semIEEEdouble, APInt(64, 0x0360000000000000ull)); in makeSmallestNormalized()
4252 APFloat::cmpResult DoubleAPFloat::compare(const DoubleAPFloat &RHS) const { in compare()
4255 if (Result == APFloat::cmpEqual) in compare()
4280 APFloat::opStatus DoubleAPFloat::convertFromString(StringRef S, in convertFromString()
4283 APFloat Tmp(semPPCDoubleDoubleLegacy); in convertFromString()
4289 APFloat::opStatus DoubleAPFloat::next(bool nextDown) { in next()
4291 APFloat Tmp(semPPCDoubleDoubleLegacy, bitcastToAPInt()); in next()
4297 APFloat::opStatus
4302 return APFloat(semPPCDoubleDoubleLegacy, bitcastToAPInt()) in convertToInteger()
4306 APFloat::opStatus DoubleAPFloat::convertFromAPInt(const APInt &Input, in convertFromAPInt()
4310 APFloat Tmp(semPPCDoubleDoubleLegacy); in convertFromAPInt()
4316 APFloat::opStatus
4321 APFloat Tmp(semPPCDoubleDoubleLegacy); in convertFromSignExtendedInteger()
4327 APFloat::opStatus
4332 APFloat Tmp(semPPCDoubleDoubleLegacy); in convertFromZeroExtendedInteger()
4343 return APFloat(semPPCDoubleDoubleLegacy, bitcastToAPInt()) in convertToHexString()
4380 APFloat(semPPCDoubleDoubleLegacy, bitcastToAPInt()) in toString()
4384 bool DoubleAPFloat::getExactInverse(APFloat *inv) const { in getExactInverse()
4386 APFloat Tmp(semPPCDoubleDoubleLegacy, bitcastToAPInt()); in getExactInverse()
4389 APFloat Inv(semPPCDoubleDoubleLegacy); in getExactInverse()
4391 *inv = APFloat(semPPCDoubleDouble, Inv.bitcastToAPInt()); in getExactInverse()
4395 DoubleAPFloat scalbn(DoubleAPFloat Arg, int Exp, APFloat::roundingMode RM) { in scalbn()
4402 APFloat::roundingMode RM) { in frexp()
4404 APFloat First = frexp(Arg.Floats[0], Exp, RM); in frexp()
4405 APFloat Second = Arg.Floats[1]; in frexp()
4406 if (Arg.getCategory() == APFloat::fcNormal) in frexp()
4413 APFloat::Storage::Storage(IEEEFloat F, const fltSemantics &Semantics) { in Storage()
4420 DoubleAPFloat(Semantics, APFloat(std::move(F), F.getSemantics()), in Storage()
4421 APFloat(semIEEEdouble)); in Storage()
4427 APFloat::opStatus APFloat::convertFromString(StringRef Str, roundingMode RM) { in convertFromString()
4431 hash_code hash_value(const APFloat &Arg) { in hash_value()
4432 if (APFloat::usesLayout<detail::IEEEFloat>(Arg.getSemantics())) in hash_value()
4434 if (APFloat::usesLayout<detail::DoubleAPFloat>(Arg.getSemantics())) in hash_value()
4439 APFloat::APFloat(const fltSemantics &Semantics, StringRef S) in APFloat() function in llvm::APFloat
4440 : APFloat(Semantics) { in APFloat()
4444 APFloat::opStatus APFloat::convert(const fltSemantics &ToSemantics, in convert()
4457 *this = APFloat(ToSemantics, U.IEEE.bitcastToAPInt()); in convert()
4463 *this = APFloat(std::move(getIEEE()), ToSemantics); in convert()
4469 APFloat APFloat::getAllOnesValue(unsigned BitWidth, bool isIEEE) { in getAllOnesValue()
4473 return APFloat(semIEEEhalf, APInt::getAllOnesValue(BitWidth)); in getAllOnesValue()
4475 return APFloat(semIEEEsingle, APInt::getAllOnesValue(BitWidth)); in getAllOnesValue()
4477 return APFloat(semIEEEdouble, APInt::getAllOnesValue(BitWidth)); in getAllOnesValue()
4479 return APFloat(semX87DoubleExtended, APInt::getAllOnesValue(BitWidth)); in getAllOnesValue()
4481 return APFloat(semIEEEquad, APInt::getAllOnesValue(BitWidth)); in getAllOnesValue()
4487 return APFloat(semPPCDoubleDouble, APInt::getAllOnesValue(BitWidth)); in getAllOnesValue()
4491 void APFloat::print(raw_ostream &OS) const { in print()
4498 LLVM_DUMP_METHOD void APFloat::dump() const { print(dbgs()); } in dump()
4501 void APFloat::Profile(FoldingSetNodeID &NID) const { in Profile()
4509 APFloat::opStatus APFloat::convertToInteger(APSInt &result, in convertToInteger()