reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/ADT/APFloat.h
  164   static const fltSemantics &IEEEdouble() LLVM_READNONE;

References

gen/lib/Target/NVPTX/NVPTXGenDAGISel.inc
72295   return &N->getValueAPF().getSemantics() == &llvm::APFloat::IEEEdouble() &&
include/llvm/ADT/APFloat.h
  832   APFloat() : U(IEEEdouble()) {
  858   explicit APFloat(double d) : U(IEEEFloat(d), IEEEdouble()) {}
include/llvm/CodeGen/SelectionDAG.h
 1385     case MVT::f64:     return APFloat::IEEEdouble();
include/llvm/IR/Type.h
  173     case DoubleTyID: return APFloat::IEEEdouble();
lib/Analysis/ConstantFolding.cpp
 1655   APF.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven, &unused);
lib/AsmParser/LLLexer.cpp
 1004     APFloatVal = APFloat(APFloat::IEEEdouble(),
 1105   APFloatVal = APFloat(APFloat::IEEEdouble(),
 1142   APFloatVal = APFloat(APFloat::IEEEdouble(),
lib/AsmParser/LLParser.cpp
 5174     if (&ID.APFloatVal.getSemantics() == &APFloat::IEEEdouble()) {
lib/Bitcode/Reader/BitcodeReader.cpp
 2409         V = ConstantFP::get(Context, APFloat(APFloat::IEEEdouble(),
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  869       APF.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven,
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
 1697       Val.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven,
 3924                                                 : APFloat::IEEEdouble(),
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
 4316         return getConstantFP(APFloat(APFloat::IEEEdouble(), Val), DL, VT);
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
  573     else if (&CSDN->getValueAPF().getSemantics() == &APFloat::IEEEdouble())
lib/IR/AsmWriter.cpp
 1305         &APF.getSemantics() == &APFloat::IEEEdouble()) {
 1312       bool isDouble = &APF.getSemantics() == &APFloat::IEEEdouble();
 1328         if (APFloat(APFloat::IEEEdouble(), StrVal).convertToDouble() == Val) {
 1342         apf.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven,
lib/IR/ConstantFold.cpp
  599                   DestTy->isDoubleTy() ? APFloat::IEEEdouble() :
lib/IR/Constants.cpp
  301                            APFloat::getZero(APFloat::IEEEdouble()));
  706     return &APFloat::IEEEdouble();
  822     else if (&V.getSemantics() == &APFloat::IEEEdouble())
 1336         &Val2.getSemantics() == &APFloat::IEEEdouble())
 1338     Val2.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven, &losesInfo);
 1344            &Val2.getSemantics() == &APFloat::IEEEdouble() ||
 1349            &Val2.getSemantics() == &APFloat::IEEEdouble() ||
 1354            &Val2.getSemantics() == &APFloat::IEEEdouble() ||
 2756     return APFloat(APFloat::IEEEdouble(), APInt(64, EltVal));
lib/IR/Core.cpp
 1361   APF.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven, &APFLosesInfo);
lib/MC/MCParser/AsmParser.cpp
 1218     APFloat RealVal(APFloat::IEEEdouble(), getTok().getString());
 1974       return parseDirectiveRealValue(IDVal, APFloat::IEEEdouble());
 2166       return parseDirectiveRealDCB(IDVal, APFloat::IEEEdouble());
lib/Support/APFloat.cpp
  123       return IEEEdouble();
  140     else if (&Sem == &llvm::APFloat::IEEEdouble())
lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  521     return APFloat(APFloat::IEEEdouble(), APInt(64, FPImm.Val, true));
 1223       APFloat RealVal(APFloat::IEEEdouble());
 2579     APFloat RealVal(APFloat::IEEEdouble());
 3640       APFloat RealVal(APFloat::IEEEdouble(), Tok.getString());
lib/Target/AMDGPU/AMDGPUISelLowering.cpp
 2128   APFloat C1Val(APFloat::IEEEdouble(), "0x1.0p+52");
 2139   APFloat C2Val(APFloat::IEEEdouble(), "0x1.fffffffffffffp+51");
 3591   static const APFloat KF64(APFloat::IEEEdouble(), APInt(64, 0x3fc45f306dc9c882));
lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
 1325   APFloat C1Val(APFloat::IEEEdouble(), "0x1.0p+52");
 1326   APFloat C2Val(APFloat::IEEEdouble(), "0x1.fffffffffffffp+51");
lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
 1456     return &APFloat::IEEEdouble();
 1481     return &APFloat::IEEEdouble();
 1552     APFloat FPLiteral(APFloat::IEEEdouble(), APInt(64, Imm.Val));
 1632   APFloat FPLiteral(APFloat::IEEEdouble(), APInt(64, Imm.Val));
 1763       APFloat FPLiteral(APFloat::IEEEdouble(), Literal);
 1857   APFloat FPLiteral(APFloat::IEEEdouble(), Literal);
 2363     APFloat RealVal(APFloat::IEEEdouble());
lib/Target/ARM/ARMMCInstLower.cpp
  112     Val.convert(APFloat::IEEEdouble(), APFloat::rmTowardZero, &ignored);
lib/Target/Mips/AsmParser/MipsAsmParser.cpp
 3263     APFloat RealVal(APFloat::IEEEdouble(), ImmOp64);
lib/Target/NVPTX/NVPTXAsmPrinter.cpp
 1703     APF.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven, &ignored);
lib/Target/NVPTX/NVPTXMCExpr.cpp
   45     APF.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven, &Ignored);
lib/Target/X86/X86ISelLowering.cpp
 5421       APFloat FV(APFloat::IEEEdouble(), V);
 8084         Const = ConstantFP::get(C, APFloat(APFloat::IEEEdouble(), Val));
 8251                                     APFloat(APFloat::IEEEdouble(), SplatValue));
18567     ConstantFP::get(*Context, APFloat(APFloat::IEEEdouble(),
18570     ConstantFP::get(*Context, APFloat(APFloat::IEEEdouble(),
18967       Status = Thresh.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven,
35579       APFloat F64(APFloat::IEEEdouble(), EltBits[0]);
lib/Transforms/InstCombine/InstCombineCasts.cpp
 1467   if (fitsInFPType(CFP, APFloat::IEEEdouble()))
lib/Transforms/Utils/SimplifyLibCalls.cpp
 1727       ExpoA.convert(APFloat::IEEEdouble(), APFloat::rmTowardZero, &Ignored);
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
 1525   if ((&Node.getSemantics()) == &llvm::APFloat::IEEEdouble())
 1534   if ((&Node.getSemantics()) == &llvm::APFloat::IEEEdouble())
tools/clang/lib/AST/APValue.cpp
  389   V.convert(llvm::APFloat::IEEEdouble(), llvm::APFloat::rmNearestTiesToEven,
tools/clang/lib/AST/Expr.cpp
  997   V.convert(llvm::APFloat::IEEEdouble(), llvm::APFloat::rmNearestTiesToEven,
tools/clang/lib/Basic/TargetInfo.cpp
  106   DoubleFormat = &llvm::APFloat::IEEEdouble();
  107   LongDoubleFormat = &llvm::APFloat::IEEEdouble();
  363       DoubleFormat = &llvm::APFloat::IEEEdouble();
tools/clang/lib/Basic/Targets/AArch64.cpp
  553   LongDoubleFormat = &llvm::APFloat::IEEEdouble();
  637   LongDoubleFormat = &llvm::APFloat::IEEEdouble();
tools/clang/lib/Basic/Targets/Mips.h
  121     LongDoubleFormat = &llvm::APFloat::IEEEdouble();
  136       LongDoubleFormat = &llvm::APFloat::IEEEdouble();
tools/clang/lib/Basic/Targets/OSTargets.h
  774     this->LongDoubleFormat = &llvm::APFloat::IEEEdouble();
tools/clang/lib/Basic/Targets/PPC.cpp
   60       LongDoubleFormat = &llvm::APFloat::IEEEdouble();
  476   if (LongDoubleFormat != &llvm::APFloat::IEEEdouble())
tools/clang/lib/Basic/Targets/PPC.h
  355       LongDoubleFormat = &llvm::APFloat::IEEEdouble();
  392       LongDoubleFormat = &llvm::APFloat::IEEEdouble();
tools/clang/lib/Basic/Targets/X86.h
  484     LongDoubleFormat = &llvm::APFloat::IEEEdouble();
  557     LongDoubleFormat = &llvm::APFloat::IEEEdouble();
  751     LongDoubleFormat = &llvm::APFloat::IEEEdouble();
  847     LongDoubleFormat = &llvm::APFloat::IEEEdouble();
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  300   if (&format == &llvm::APFloat::IEEEdouble())
tools/clang/lib/CodeGen/TargetInfo.cpp
 2590       } else if (LDF == &llvm::APFloat::IEEEdouble()) {
 2721       else if (LDF == &llvm::APFloat::IEEEdouble())
tools/clang/lib/Frontend/InitPreprocessor.cpp
  102   if (Sem == (const llvm::fltSemantics*)&llvm::APFloat::IEEEdouble())
tools/clang/tools/extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
   27   if ((&Node.getSemantics()) == &llvm::APFloat::IEEEdouble())
tools/clang/tools/extra/clang-tidy/readability/MagicNumbersCheck.cpp
   82       llvm::APFloat DoubleValue(llvm::APFloat::IEEEdouble());
  146   if (&FloatValue.getSemantics() == &llvm::APFloat::IEEEdouble()) {
tools/clang/tools/libclang/CIndex.cpp
 3835     apFloat.convert(llvm::APFloat::IEEEdouble(),
tools/lldb/source/Utility/Scalar.cpp
  528       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
  598       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
  664       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
  726       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
  784       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
  838       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
  892       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
  942       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
  992       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
 1039       m_float = llvm::APFloat(llvm::APFloat::IEEEdouble());
unittests/ADT/APFloatTest.cpp
  514     APFloat f1(APFloat::IEEEdouble(),  "-0x1p-1074");
  515     APFloat f2(APFloat::IEEEdouble(), "+0x1p-1074");
  538   APFloat nan = APFloat::getNaN(APFloat::IEEEdouble());
  549   APFloat nan = APFloat::getNaN(APFloat::IEEEdouble());
  562   APFloat nan = APFloat::getNaN(APFloat::IEEEdouble());
  577   APFloat nan = APFloat::getNaN(APFloat::IEEEdouble());
  605     EXPECT_FALSE(APFloat(APFloat::IEEEdouble(), MinNormalStr).isDenormal());
  606     EXPECT_FALSE(APFloat(APFloat::IEEEdouble(), 0.0).isDenormal());
  608     APFloat Val2(APFloat::IEEEdouble(), 2.0e0);
  609     APFloat T(APFloat::IEEEdouble(), MinNormalStr);
  652   APFloat Val(APFloat::IEEEdouble());
  675   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0").convertToDouble());
  676   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0").convertToDouble());
  677   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0").convertToDouble());
  679   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0.").convertToDouble());
  680   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0.").convertToDouble());
  681   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0.").convertToDouble());
  683   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  ".0").convertToDouble());
  684   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+.0").convertToDouble());
  685   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-.0").convertToDouble());
  687   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0.0").convertToDouble());
  688   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0.0").convertToDouble());
  689   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0.0").convertToDouble());
  691   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "00000.").convertToDouble());
  692   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+00000.").convertToDouble());
  693   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-00000.").convertToDouble());
  695   EXPECT_EQ(0.0,  APFloat(APFloat::IEEEdouble(), ".00000").convertToDouble());
  696   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+.00000").convertToDouble());
  697   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-.00000").convertToDouble());
  699   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0000.00000").convertToDouble());
  700   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0000.00000").convertToDouble());
  701   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0000.00000").convertToDouble());
  705   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),   "0e1").convertToDouble());
  706   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(),  "+0e1").convertToDouble());
  707   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(),  "-0e1").convertToDouble());
  709   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0e+1").convertToDouble());
  710   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0e+1").convertToDouble());
  711   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0e+1").convertToDouble());
  713   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0e-1").convertToDouble());
  714   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0e-1").convertToDouble());
  715   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0e-1").convertToDouble());
  718   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),   "0.e1").convertToDouble());
  719   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(),  "+0.e1").convertToDouble());
  720   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(),  "-0.e1").convertToDouble());
  722   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0.e+1").convertToDouble());
  723   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0.e+1").convertToDouble());
  724   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0.e+1").convertToDouble());
  726   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0.e-1").convertToDouble());
  727   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0.e-1").convertToDouble());
  728   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0.e-1").convertToDouble());
  730   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),   ".0e1").convertToDouble());
  731   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(),  "+.0e1").convertToDouble());
  732   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(),  "-.0e1").convertToDouble());
  734   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  ".0e+1").convertToDouble());
  735   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+.0e+1").convertToDouble());
  736   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-.0e+1").convertToDouble());
  738   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  ".0e-1").convertToDouble());
  739   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+.0e-1").convertToDouble());
  740   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-.0e-1").convertToDouble());
  743   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),   "0.0e1").convertToDouble());
  744   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(),  "+0.0e1").convertToDouble());
  745   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(),  "-0.0e1").convertToDouble());
  747   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0.0e+1").convertToDouble());
  748   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0.0e+1").convertToDouble());
  749   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0.0e+1").convertToDouble());
  751   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0.0e-1").convertToDouble());
  752   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0.0e-1").convertToDouble());
  753   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0.0e-1").convertToDouble());
  756   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "000.0000e1").convertToDouble());
  757   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+000.0000e+1").convertToDouble());
  758   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-000.0000e+1").convertToDouble());
  762   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0e1234").convertToDouble());
  763   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0e1234").convertToDouble());
  764   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0e1234").convertToDouble());
  766   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0e+1234").convertToDouble());
  767   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0e+1234").convertToDouble());
  768   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0e+1234").convertToDouble());
  770   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0e-1234").convertToDouble());
  771   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0e-1234").convertToDouble());
  772   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0e-1234").convertToDouble());
  774   EXPECT_EQ(0.0,  APFloat(APFloat::IEEEdouble(), "000.0000e1234").convertToDouble());
  775   EXPECT_EQ(0.0,  APFloat(APFloat::IEEEdouble(), "000.0000e-1234").convertToDouble());
  777   EXPECT_EQ(0.0,  APFloat(APFloat::IEEEdouble(), StringRef("0e1234" "\0" "2", 6)).convertToDouble());
  781   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x0p1").convertToDouble());
  782   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x0p1").convertToDouble());
  783   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0p1").convertToDouble());
  785   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x0p+1").convertToDouble());
  786   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x0p+1").convertToDouble());
  787   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0p+1").convertToDouble());
  789   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x0p-1").convertToDouble());
  790   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x0p-1").convertToDouble());
  791   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0p-1").convertToDouble());
  794   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x0.p1").convertToDouble());
  795   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x0.p1").convertToDouble());
  796   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0.p1").convertToDouble());
  798   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x0.p+1").convertToDouble());
  799   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x0.p+1").convertToDouble());
  800   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0.p+1").convertToDouble());
  802   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x0.p-1").convertToDouble());
  803   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x0.p-1").convertToDouble());
  804   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0.p-1").convertToDouble());
  807   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x.0p1").convertToDouble());
  808   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x.0p1").convertToDouble());
  809   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x.0p1").convertToDouble());
  811   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x.0p+1").convertToDouble());
  812   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x.0p+1").convertToDouble());
  813   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x.0p+1").convertToDouble());
  815   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x.0p-1").convertToDouble());
  816   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x.0p-1").convertToDouble());
  817   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x.0p-1").convertToDouble());
  820   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x0.0p1").convertToDouble());
  821   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x0.0p1").convertToDouble());
  822   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0.0p1").convertToDouble());
  824   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x0.0p+1").convertToDouble());
  825   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x0.0p+1").convertToDouble());
  826   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0.0p+1").convertToDouble());
  828   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(),  "0x0.0p-1").convertToDouble());
  829   EXPECT_EQ(+0.0, APFloat(APFloat::IEEEdouble(), "+0x0.0p-1").convertToDouble());
  830   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0.0p-1").convertToDouble());
  833   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(), "0x00000.p1").convertToDouble());
  834   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(), "0x0000.00000p1").convertToDouble());
  835   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(), "0x.00000p1").convertToDouble());
  836   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(), "0x0.p1").convertToDouble());
  837   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(), "0x0p1234").convertToDouble());
  838   EXPECT_EQ(-0.0, APFloat(APFloat::IEEEdouble(), "-0x0p1234").convertToDouble());
  839   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(), "0x00000.p1234").convertToDouble());
  840   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(), "0x0000.00000p1234").convertToDouble());
  841   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(), "0x.00000p1234").convertToDouble());
  842   EXPECT_EQ( 0.0, APFloat(APFloat::IEEEdouble(), "0x0.p1234").convertToDouble());
  846   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "1").convertToDouble());
  847   EXPECT_EQ(2.0,      APFloat(APFloat::IEEEdouble(), "2.").convertToDouble());
  848   EXPECT_EQ(0.5,      APFloat(APFloat::IEEEdouble(), ".5").convertToDouble());
  849   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "1.0").convertToDouble());
  850   EXPECT_EQ(-2.0,     APFloat(APFloat::IEEEdouble(), "-2").convertToDouble());
  851   EXPECT_EQ(-4.0,     APFloat(APFloat::IEEEdouble(), "-4.").convertToDouble());
  852   EXPECT_EQ(-0.5,     APFloat(APFloat::IEEEdouble(), "-.5").convertToDouble());
  853   EXPECT_EQ(-1.5,     APFloat(APFloat::IEEEdouble(), "-1.5").convertToDouble());
  854   EXPECT_EQ(1.25e12,  APFloat(APFloat::IEEEdouble(), "1.25e12").convertToDouble());
  855   EXPECT_EQ(1.25e+12, APFloat(APFloat::IEEEdouble(), "1.25e+12").convertToDouble());
  856   EXPECT_EQ(1.25e-12, APFloat(APFloat::IEEEdouble(), "1.25e-12").convertToDouble());
  857   EXPECT_EQ(1024.0,   APFloat(APFloat::IEEEdouble(), "1024.").convertToDouble());
  858   EXPECT_EQ(1024.05,  APFloat(APFloat::IEEEdouble(), "1024.05000").convertToDouble());
  859   EXPECT_EQ(0.05,     APFloat(APFloat::IEEEdouble(), ".05000").convertToDouble());
  860   EXPECT_EQ(2.0,      APFloat(APFloat::IEEEdouble(), "2.").convertToDouble());
  861   EXPECT_EQ(2.0e2,    APFloat(APFloat::IEEEdouble(), "2.e2").convertToDouble());
  862   EXPECT_EQ(2.0e+2,   APFloat(APFloat::IEEEdouble(), "2.e+2").convertToDouble());
  863   EXPECT_EQ(2.0e-2,   APFloat(APFloat::IEEEdouble(), "2.e-2").convertToDouble());
  864   EXPECT_EQ(2.05e2,    APFloat(APFloat::IEEEdouble(), "002.05000e2").convertToDouble());
  865   EXPECT_EQ(2.05e+2,   APFloat(APFloat::IEEEdouble(), "002.05000e+2").convertToDouble());
  866   EXPECT_EQ(2.05e-2,   APFloat(APFloat::IEEEdouble(), "002.05000e-2").convertToDouble());
  867   EXPECT_EQ(2.05e12,   APFloat(APFloat::IEEEdouble(), "002.05000e12").convertToDouble());
  868   EXPECT_EQ(2.05e+12,  APFloat(APFloat::IEEEdouble(), "002.05000e+12").convertToDouble());
  869   EXPECT_EQ(2.05e-12,  APFloat(APFloat::IEEEdouble(), "002.05000e-12").convertToDouble());
  871   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "1e").convertToDouble());
  872   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "+1e").convertToDouble());
  873   EXPECT_EQ(-1.0,      APFloat(APFloat::IEEEdouble(), "-1e").convertToDouble());
  875   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "1.e").convertToDouble());
  876   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "+1.e").convertToDouble());
  877   EXPECT_EQ(-1.0,      APFloat(APFloat::IEEEdouble(), "-1.e").convertToDouble());
  879   EXPECT_EQ(0.1,      APFloat(APFloat::IEEEdouble(), ".1e").convertToDouble());
  880   EXPECT_EQ(0.1,      APFloat(APFloat::IEEEdouble(), "+.1e").convertToDouble());
  881   EXPECT_EQ(-0.1,      APFloat(APFloat::IEEEdouble(), "-.1e").convertToDouble());
  883   EXPECT_EQ(1.1,      APFloat(APFloat::IEEEdouble(), "1.1e").convertToDouble());
  884   EXPECT_EQ(1.1,      APFloat(APFloat::IEEEdouble(), "+1.1e").convertToDouble());
  885   EXPECT_EQ(-1.1,      APFloat(APFloat::IEEEdouble(), "-1.1e").convertToDouble());
  887   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "1e+").convertToDouble());
  888   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "1e-").convertToDouble());
  890   EXPECT_EQ(0.1,      APFloat(APFloat::IEEEdouble(), ".1e").convertToDouble());
  891   EXPECT_EQ(0.1,      APFloat(APFloat::IEEEdouble(), ".1e+").convertToDouble());
  892   EXPECT_EQ(0.1,      APFloat(APFloat::IEEEdouble(), ".1e-").convertToDouble());
  894   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "1.0e").convertToDouble());
  895   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "1.0e+").convertToDouble());
  896   EXPECT_EQ(1.0,      APFloat(APFloat::IEEEdouble(), "1.0e-").convertToDouble());
  900   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "99e99999").isInfinity());
  901   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "-99e99999").isInfinity());
  902   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "1e-99999").isPosZero());
  903   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "-1e-99999").isNegZero());
  926   EXPECT_EQ( 1.0, APFloat(APFloat::IEEEdouble(),  "0x1p0").convertToDouble());
  927   EXPECT_EQ(+1.0, APFloat(APFloat::IEEEdouble(), "+0x1p0").convertToDouble());
  928   EXPECT_EQ(-1.0, APFloat(APFloat::IEEEdouble(), "-0x1p0").convertToDouble());
  930   EXPECT_EQ( 1.0, APFloat(APFloat::IEEEdouble(),  "0x1p+0").convertToDouble());
  931   EXPECT_EQ(+1.0, APFloat(APFloat::IEEEdouble(), "+0x1p+0").convertToDouble());
  932   EXPECT_EQ(-1.0, APFloat(APFloat::IEEEdouble(), "-0x1p+0").convertToDouble());
  934   EXPECT_EQ( 1.0, APFloat(APFloat::IEEEdouble(),  "0x1p-0").convertToDouble());
  935   EXPECT_EQ(+1.0, APFloat(APFloat::IEEEdouble(), "+0x1p-0").convertToDouble());
  936   EXPECT_EQ(-1.0, APFloat(APFloat::IEEEdouble(), "-0x1p-0").convertToDouble());
  939   EXPECT_EQ( 2.0, APFloat(APFloat::IEEEdouble(),  "0x1p1").convertToDouble());
  940   EXPECT_EQ(+2.0, APFloat(APFloat::IEEEdouble(), "+0x1p1").convertToDouble());
  941   EXPECT_EQ(-2.0, APFloat(APFloat::IEEEdouble(), "-0x1p1").convertToDouble());
  943   EXPECT_EQ( 2.0, APFloat(APFloat::IEEEdouble(),  "0x1p+1").convertToDouble());
  944   EXPECT_EQ(+2.0, APFloat(APFloat::IEEEdouble(), "+0x1p+1").convertToDouble());
  945   EXPECT_EQ(-2.0, APFloat(APFloat::IEEEdouble(), "-0x1p+1").convertToDouble());
  947   EXPECT_EQ( 0.5, APFloat(APFloat::IEEEdouble(),  "0x1p-1").convertToDouble());
  948   EXPECT_EQ(+0.5, APFloat(APFloat::IEEEdouble(), "+0x1p-1").convertToDouble());
  949   EXPECT_EQ(-0.5, APFloat(APFloat::IEEEdouble(), "-0x1p-1").convertToDouble());
  952   EXPECT_EQ( 3.0, APFloat(APFloat::IEEEdouble(),  "0x1.8p1").convertToDouble());
  953   EXPECT_EQ(+3.0, APFloat(APFloat::IEEEdouble(), "+0x1.8p1").convertToDouble());
  954   EXPECT_EQ(-3.0, APFloat(APFloat::IEEEdouble(), "-0x1.8p1").convertToDouble());
  956   EXPECT_EQ( 3.0, APFloat(APFloat::IEEEdouble(),  "0x1.8p+1").convertToDouble());
  957   EXPECT_EQ(+3.0, APFloat(APFloat::IEEEdouble(), "+0x1.8p+1").convertToDouble());
  958   EXPECT_EQ(-3.0, APFloat(APFloat::IEEEdouble(), "-0x1.8p+1").convertToDouble());
  960   EXPECT_EQ( 0.75, APFloat(APFloat::IEEEdouble(),  "0x1.8p-1").convertToDouble());
  961   EXPECT_EQ(+0.75, APFloat(APFloat::IEEEdouble(), "+0x1.8p-1").convertToDouble());
  962   EXPECT_EQ(-0.75, APFloat(APFloat::IEEEdouble(), "-0x1.8p-1").convertToDouble());
  965   EXPECT_EQ( 8192.0, APFloat(APFloat::IEEEdouble(),  "0x1000.000p1").convertToDouble());
  966   EXPECT_EQ(+8192.0, APFloat(APFloat::IEEEdouble(), "+0x1000.000p1").convertToDouble());
  967   EXPECT_EQ(-8192.0, APFloat(APFloat::IEEEdouble(), "-0x1000.000p1").convertToDouble());
  969   EXPECT_EQ( 8192.0, APFloat(APFloat::IEEEdouble(),  "0x1000.000p+1").convertToDouble());
  970   EXPECT_EQ(+8192.0, APFloat(APFloat::IEEEdouble(), "+0x1000.000p+1").convertToDouble());
  971   EXPECT_EQ(-8192.0, APFloat(APFloat::IEEEdouble(), "-0x1000.000p+1").convertToDouble());
  973   EXPECT_EQ( 2048.0, APFloat(APFloat::IEEEdouble(),  "0x1000.000p-1").convertToDouble());
  974   EXPECT_EQ(+2048.0, APFloat(APFloat::IEEEdouble(), "+0x1000.000p-1").convertToDouble());
  975   EXPECT_EQ(-2048.0, APFloat(APFloat::IEEEdouble(), "-0x1000.000p-1").convertToDouble());
  978   EXPECT_EQ( 8192.0, APFloat(APFloat::IEEEdouble(),  "0x1000p1").convertToDouble());
  979   EXPECT_EQ(+8192.0, APFloat(APFloat::IEEEdouble(), "+0x1000p1").convertToDouble());
  980   EXPECT_EQ(-8192.0, APFloat(APFloat::IEEEdouble(), "-0x1000p1").convertToDouble());
  982   EXPECT_EQ( 8192.0, APFloat(APFloat::IEEEdouble(),  "0x1000p+1").convertToDouble());
  983   EXPECT_EQ(+8192.0, APFloat(APFloat::IEEEdouble(), "+0x1000p+1").convertToDouble());
  984   EXPECT_EQ(-8192.0, APFloat(APFloat::IEEEdouble(), "-0x1000p+1").convertToDouble());
  986   EXPECT_EQ( 2048.0, APFloat(APFloat::IEEEdouble(),  "0x1000p-1").convertToDouble());
  987   EXPECT_EQ(+2048.0, APFloat(APFloat::IEEEdouble(), "+0x1000p-1").convertToDouble());
  988   EXPECT_EQ(-2048.0, APFloat(APFloat::IEEEdouble(), "-0x1000p-1").convertToDouble());
  991   EXPECT_EQ( 16384.0, APFloat(APFloat::IEEEdouble(),  "0x10p10").convertToDouble());
  992   EXPECT_EQ(+16384.0, APFloat(APFloat::IEEEdouble(), "+0x10p10").convertToDouble());
  993   EXPECT_EQ(-16384.0, APFloat(APFloat::IEEEdouble(), "-0x10p10").convertToDouble());
  995   EXPECT_EQ( 16384.0, APFloat(APFloat::IEEEdouble(),  "0x10p+10").convertToDouble());
  996   EXPECT_EQ(+16384.0, APFloat(APFloat::IEEEdouble(), "+0x10p+10").convertToDouble());
  997   EXPECT_EQ(-16384.0, APFloat(APFloat::IEEEdouble(), "-0x10p+10").convertToDouble());
  999   EXPECT_EQ( 0.015625, APFloat(APFloat::IEEEdouble(),  "0x10p-10").convertToDouble());
 1000   EXPECT_EQ(+0.015625, APFloat(APFloat::IEEEdouble(), "+0x10p-10").convertToDouble());
 1001   EXPECT_EQ(-0.015625, APFloat(APFloat::IEEEdouble(), "-0x10p-10").convertToDouble());
 1003   EXPECT_EQ(1.0625, APFloat(APFloat::IEEEdouble(), "0x1.1p0").convertToDouble());
 1004   EXPECT_EQ(1.0, APFloat(APFloat::IEEEdouble(), "0x1p0").convertToDouble());
 1056             APFloat(APFloat::IEEEdouble(), "10")
 1062             APFloat(APFloat::IEEEdouble(), "-10")
 1068             APFloat(APFloat::IEEEdouble(), "32")
 1074             APFloat(APFloat::IEEEdouble(), "7.9")
 1081             APFloat(APFloat::IEEEdouble(), "-10")
 1087             APFloat(APFloat::IEEEdouble(), "-17")
 1093             APFloat(APFloat::IEEEdouble(), "16")
 1127     { 0x7ff8000000000000ULL, APFloat::IEEEdouble(), false, false, 0x0000000000000000ULL },
 1128     { 0xfff8000000000000ULL, APFloat::IEEEdouble(), false,  true, 0x0000000000000000ULL },
 1129     { 0x7ff800000000ae72ULL, APFloat::IEEEdouble(), false, false, 0x000000000000ae72ULL },
 1130     { 0x7fffffffffffae72ULL, APFloat::IEEEdouble(), false, false, 0xffffffffffffae72ULL },
 1131     { 0x7ffdaaaaaaaaae72ULL, APFloat::IEEEdouble(), false, false, 0x000daaaaaaaaae72ULL },
 1132     { 0x7ff4000000000000ULL, APFloat::IEEEdouble(),  true, false, 0x0000000000000000ULL },
 1133     { 0xfff4000000000000ULL, APFloat::IEEEdouble(),  true,  true, 0x0000000000000000ULL },
 1134     { 0x7ff000000000ae72ULL, APFloat::IEEEdouble(),  true, false, 0x000000000000ae72ULL },
 1135     { 0x7ff7ffffffffae72ULL, APFloat::IEEEdouble(),  true, false, 0xffffffffffffae72ULL },
 1136     { 0x7ff1aaaaaaaaae72ULL, APFloat::IEEEdouble(),  true, false, 0x0001aaaaaaaaae72ULL },
 1148   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), 0.0 ).convertToFloat(),  "Float semantics are not IEEEsingle");
 1152   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  ""), "Invalid string length");
 1153   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+"), "String has no digits");
 1154   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-"), "String has no digits");
 1156   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("\0", 1)), "Invalid character in significand");
 1157   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("1\0", 2)), "Invalid character in significand");
 1158   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("1" "\0" "2", 3)), "Invalid character in significand");
 1159   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("1" "\0" "2e1", 5)), "Invalid character in significand");
 1160   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("1e\0", 3)), "Invalid character in exponent");
 1161   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("1e1\0", 4)), "Invalid character in exponent");
 1162   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("1e1" "\0" "2", 5)), "Invalid character in exponent");
 1164   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "1.0f"), "Invalid character in significand");
 1166   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), ".."), "String contains multiple dots");
 1167   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "..0"), "String contains multiple dots");
 1168   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "1.0.0"), "String contains multiple dots");
 1172   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "."), "Significand has no digits");
 1173   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+."), "Significand has no digits");
 1174   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-."), "Significand has no digits");
 1177   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "e"), "Significand has no digits");
 1178   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+e"), "Significand has no digits");
 1179   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-e"), "Significand has no digits");
 1181   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "e1"), "Significand has no digits");
 1182   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+e1"), "Significand has no digits");
 1183   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-e1"), "Significand has no digits");
 1185   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  ".e1"), "Significand has no digits");
 1186   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+.e1"), "Significand has no digits");
 1187   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-.e1"), "Significand has no digits");
 1190   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  ".e"), "Significand has no digits");
 1191   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+.e"), "Significand has no digits");
 1192   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-.e"), "Significand has no digits");
 1196   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x"), "Invalid string");
 1197   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x"), "Invalid string");
 1198   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x"), "Invalid string");
 1200   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x0"), "Hex strings require an exponent");
 1201   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x0"), "Hex strings require an exponent");
 1202   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x0"), "Hex strings require an exponent");
 1204   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x0."), "Hex strings require an exponent");
 1205   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x0."), "Hex strings require an exponent");
 1206   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x0."), "Hex strings require an exponent");
 1208   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x.0"), "Hex strings require an exponent");
 1209   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x.0"), "Hex strings require an exponent");
 1210   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x.0"), "Hex strings require an exponent");
 1212   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x0.0"), "Hex strings require an exponent");
 1213   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x0.0"), "Hex strings require an exponent");
 1214   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x0.0"), "Hex strings require an exponent");
 1216   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("0x\0", 3)), "Invalid character in significand");
 1217   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("0x1\0", 4)), "Invalid character in significand");
 1218   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("0x1" "\0" "2", 5)), "Invalid character in significand");
 1219   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("0x1" "\0" "2p1", 7)), "Invalid character in significand");
 1220   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("0x1p\0", 5)), "Invalid character in exponent");
 1221   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("0x1p1\0", 6)), "Invalid character in exponent");
 1222   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), StringRef("0x1p1" "\0" "2", 7)), "Invalid character in exponent");
 1224   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "0x1p0f"), "Invalid character in exponent");
 1226   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "0x..p1"), "String contains multiple dots");
 1227   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "0x..0p1"), "String contains multiple dots");
 1228   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "0x1.0.0p1"), "String contains multiple dots");
 1232   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x."), "Significand has no digits");
 1233   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x."), "Significand has no digits");
 1234   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x."), "Significand has no digits");
 1236   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0xp"), "Significand has no digits");
 1237   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0xp"), "Significand has no digits");
 1238   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0xp"), "Significand has no digits");
 1240   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0xp+"), "Significand has no digits");
 1241   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0xp+"), "Significand has no digits");
 1242   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0xp+"), "Significand has no digits");
 1244   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0xp-"), "Significand has no digits");
 1245   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0xp-"), "Significand has no digits");
 1246   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0xp-"), "Significand has no digits");
 1249   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x.p"), "Significand has no digits");
 1250   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x.p"), "Significand has no digits");
 1251   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x.p"), "Significand has no digits");
 1253   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x.p+"), "Significand has no digits");
 1254   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x.p+"), "Significand has no digits");
 1255   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x.p+"), "Significand has no digits");
 1257   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x.p-"), "Significand has no digits");
 1258   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x.p-"), "Significand has no digits");
 1259   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x.p-"), "Significand has no digits");
 1263   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x1p"), "Exponent has no digits");
 1264   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x1p"), "Exponent has no digits");
 1265   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x1p"), "Exponent has no digits");
 1267   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x1p+"), "Exponent has no digits");
 1268   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x1p+"), "Exponent has no digits");
 1269   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x1p+"), "Exponent has no digits");
 1271   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x1p-"), "Exponent has no digits");
 1272   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x1p-"), "Exponent has no digits");
 1273   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x1p-"), "Exponent has no digits");
 1276   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x1.p"), "Exponent has no digits");
 1277   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x1.p"), "Exponent has no digits");
 1278   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x1.p"), "Exponent has no digits");
 1280   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x1.p+"), "Exponent has no digits");
 1281   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x1.p+"), "Exponent has no digits");
 1282   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x1.p+"), "Exponent has no digits");
 1284   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x1.p-"), "Exponent has no digits");
 1285   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x1.p-"), "Exponent has no digits");
 1286   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x1.p-"), "Exponent has no digits");
 1289   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x.1p"), "Exponent has no digits");
 1290   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x.1p"), "Exponent has no digits");
 1291   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x.1p"), "Exponent has no digits");
 1293   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x.1p+"), "Exponent has no digits");
 1294   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x.1p+"), "Exponent has no digits");
 1295   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x.1p+"), "Exponent has no digits");
 1297   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x.1p-"), "Exponent has no digits");
 1298   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x.1p-"), "Exponent has no digits");
 1299   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x.1p-"), "Exponent has no digits");
 1302   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x1.1p"), "Exponent has no digits");
 1303   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x1.1p"), "Exponent has no digits");
 1304   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x1.1p"), "Exponent has no digits");
 1306   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x1.1p+"), "Exponent has no digits");
 1307   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x1.1p+"), "Exponent has no digits");
 1308   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x1.1p+"), "Exponent has no digits");
 1310   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(),  "0x1.1p-"), "Exponent has no digits");
 1311   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "+0x1.1p-"), "Exponent has no digits");
 1312   EXPECT_DEATH(APFloat(APFloat::IEEEdouble(), "-0x1.1p-"), "Exponent has no digits");
 1345   APFloat T(-0.5), S(3.14), R(APFloat::getLargest(APFloat::IEEEdouble())), P(0.0);
 1386   P = APFloat::getZero(APFloat::IEEEdouble());
 1389   P = APFloat::getZero(APFloat::IEEEdouble(), true);
 1392   P = APFloat::getNaN(APFloat::IEEEdouble());
 1395   P = APFloat::getInf(APFloat::IEEEdouble());
 1398   P = APFloat::getInf(APFloat::IEEEdouble(), true);
 1408   T = APFloat::getNaN(APFloat::IEEEdouble());
 1410   T = APFloat::getInf(APFloat::IEEEdouble());
 1412   T = APFloat::getInf(APFloat::IEEEdouble(), true);
 1414   T = APFloat::getLargest(APFloat::IEEEdouble());
 1438   EXPECT_EQ(1.7976931348623158e+308, APFloat::getLargest(APFloat::IEEEdouble()).convertToDouble());
 1512     { &APFloat::IEEEdouble(), false, {0, 0}, 1},
 1513     { &APFloat::IEEEdouble(), true, {0x8000000000000000ULL, 0}, 1},
 1551   APFloat test(APFloat::IEEEdouble(), "1.0");
 1558   test.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven, &losesInfo);
 1564   test.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven, &losesInfo);
 1569   test.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven, &losesInfo);
 2957   EXPECT_EQ(-1074, ilogb(APFloat::getSmallest(APFloat::IEEEdouble(), false)));
 2958   EXPECT_EQ(-1074, ilogb(APFloat::getSmallest(APFloat::IEEEdouble(), true)));
 2959   EXPECT_EQ(-1023, ilogb(APFloat(APFloat::IEEEdouble(), "0x1.ffffffffffffep-1024")));
 2960   EXPECT_EQ(-1023, ilogb(APFloat(APFloat::IEEEdouble(), "0x1.ffffffffffffep-1023")));
 2961   EXPECT_EQ(-1023, ilogb(APFloat(APFloat::IEEEdouble(), "-0x1.ffffffffffffep-1023")));
 2962   EXPECT_EQ(-51, ilogb(APFloat(APFloat::IEEEdouble(), "0x1p-51")));
 2963   EXPECT_EQ(-1023, ilogb(APFloat(APFloat::IEEEdouble(), "0x1.c60f120d9f87cp-1023")));
 2964   EXPECT_EQ(-2, ilogb(APFloat(APFloat::IEEEdouble(), "0x0.ffffp-1")));
 2965   EXPECT_EQ(-1023, ilogb(APFloat(APFloat::IEEEdouble(), "0x1.fffep-1023")));
 2966   EXPECT_EQ(1023, ilogb(APFloat::getLargest(APFloat::IEEEdouble(), false)));
 2967   EXPECT_EQ(1023, ilogb(APFloat::getLargest(APFloat::IEEEdouble(), true)));
 3037   APFloat SNaNWithPayload = APFloat::getSNaN(APFloat::IEEEdouble(), false,
 3059   APFloat SmallestF64 = APFloat::getSmallest(APFloat::IEEEdouble(), false);
 3060   APFloat NegSmallestF64 = APFloat::getSmallest(APFloat::IEEEdouble(), true);
 3062   APFloat LargestF64 = APFloat::getLargest(APFloat::IEEEdouble(), false);
 3063   APFloat NegLargestF64 = APFloat::getLargest(APFloat::IEEEdouble(), true);
 3066     = APFloat::getSmallestNormalized(APFloat::IEEEdouble(), false);
 3068     = APFloat::getSmallestNormalized(APFloat::IEEEdouble(), true);
 3070   APFloat LargestDenormalF64(APFloat::IEEEdouble(), "0x1.ffffffffffffep-1023");
 3071   APFloat NegLargestDenormalF64(APFloat::IEEEdouble(), "-0x1.ffffffffffffep-1023");
 3075                 scalbn(APFloat(APFloat::IEEEdouble(), "0x1p-1074"), 0, RM)));
 3077                 scalbn(APFloat(APFloat::IEEEdouble(), "-0x1p-1074"), 0, RM)));
 3079   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1p+1023")
 3085   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1p+1022")
 3087   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1p+1023")
 3101   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.ffffffffffffep-1022")
 3103   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "-0x1.ffffffffffffep-1021")
 3106   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.ffffffffffffep+1")
 3115   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.ffffffffffffep-2")
 3117   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.ffffffffffffep-1")
 3119   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.ffffffffffffep+0")
 3121   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.ffffffffffffep+1023")
 3123   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1p+974")
 3126   APFloat RandomDenormalF64(APFloat::IEEEdouble(), "0x1.c60f120d9f87cp+51");
 3127   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.c60f120d9f87cp-972")
 3129   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.c60f120d9f87cp-1")
 3131   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.c60f120d9f87cp-2")
 3133   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.c60f120d9f87cp+0")
 3141     APFloat(APFloat::IEEEdouble(), "-0x1p-1073")
 3145     APFloat(APFloat::IEEEdouble(), "-0x1p-1024")
 3149     APFloat(APFloat::IEEEdouble(), "0x1p-1073")
 3153     APFloat(APFloat::IEEEdouble(), "0x1p-1074")
 3155   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "-0x1p-1074")
 3162     APFloat(APFloat::IEEEdouble(), "0x1p+0")
 3163     .bitwiseIsEqual(scalbn(APFloat(APFloat::IEEEdouble(), "0x1p+52"), -52, RM)));
 3166     APFloat(APFloat::IEEEdouble(), "0x1p-103")
 3167     .bitwiseIsEqual(scalbn(APFloat(APFloat::IEEEdouble(), "0x1p-51"), -52, RM)));
 3173   APFloat PZero = APFloat::getZero(APFloat::IEEEdouble(), false);
 3174   APFloat MZero = APFloat::getZero(APFloat::IEEEdouble(), true);
 3180   APFloat LargestDenormal(APFloat::IEEEdouble(), "0x1.ffffffffffffep-1023");
 3181   APFloat NegLargestDenormal(APFloat::IEEEdouble(), "-0x1.ffffffffffffep-1023");
 3183   APFloat Smallest = APFloat::getSmallest(APFloat::IEEEdouble(), false);
 3184   APFloat NegSmallest = APFloat::getSmallest(APFloat::IEEEdouble(), true);
 3186   APFloat Largest = APFloat::getLargest(APFloat::IEEEdouble(), false);
 3187   APFloat NegLargest = APFloat::getLargest(APFloat::IEEEdouble(), true);
 3189   APFloat PInf = APFloat::getInf(APFloat::IEEEdouble(), false);
 3190   APFloat MInf = APFloat::getInf(APFloat::IEEEdouble(), true);
 3192   APFloat QPNaN = APFloat::getNaN(APFloat::IEEEdouble(), false);
 3193   APFloat QMNaN = APFloat::getNaN(APFloat::IEEEdouble(), true);
 3194   APFloat SNaN = APFloat::getSNaN(APFloat::IEEEdouble(), false);
 3202   APFloat SNaNWithPayload = APFloat::getSNaN(APFloat::IEEEdouble(), false,
 3206     = APFloat::getSmallestNormalized(APFloat::IEEEdouble(), false);
 3208     = APFloat::getSmallestNormalized(APFloat::IEEEdouble(), true);
 3211   APFloat Frac(APFloat::IEEEdouble());
 3225   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1p-1").bitwiseIsEqual(Frac));
 3229   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "-0x1p-1").bitwiseIsEqual(Frac));
 3233   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.ffffffffffffep-1").bitwiseIsEqual(Frac));
 3237   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "-0x1.ffffffffffffep-1").bitwiseIsEqual(Frac));
 3242   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1p-1").bitwiseIsEqual(Frac));
 3246   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "-0x1p-1").bitwiseIsEqual(Frac));
 3251   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.fffffffffffffp-1").bitwiseIsEqual(Frac));
 3255   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "-0x1.fffffffffffffp-1").bitwiseIsEqual(Frac));
 3283   Frac = frexp(APFloat(APFloat::IEEEdouble(), "0x0.ffffp-1"), Exp, RM);
 3285   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.fffep-1").bitwiseIsEqual(Frac));
 3287   Frac = frexp(APFloat(APFloat::IEEEdouble(), "0x1p-51"), Exp, RM);
 3289   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1p-1").bitwiseIsEqual(Frac));
 3291   Frac = frexp(APFloat(APFloat::IEEEdouble(), "0x1.c60f120d9f87cp+51"), Exp, RM);
 3293   EXPECT_TRUE(APFloat(APFloat::IEEEdouble(), "0x1.c60f120d9f87cp-1").bitwiseIsEqual(Frac));
 3298     APFloat f1(APFloat::IEEEdouble(), "1.5");
 3299     APFloat f2(APFloat::IEEEdouble(), "1.0");
 3300     APFloat expected(APFloat::IEEEdouble(), "0.5");
 3305     APFloat f1(APFloat::IEEEdouble(), "0.5");
 3306     APFloat f2(APFloat::IEEEdouble(), "1.0");
 3307     APFloat expected(APFloat::IEEEdouble(), "0.5");
 3312     APFloat f1(APFloat::IEEEdouble(), "0x1.3333333333333p-2"); // 0.3
 3313     APFloat f2(APFloat::IEEEdouble(), "0x1.47ae147ae147bp-7"); // 0.01
 3314     APFloat expected(APFloat::IEEEdouble(),
 3320     APFloat f1(APFloat::IEEEdouble(), "0x1p64"); // 1.8446744073709552e19
 3321     APFloat f2(APFloat::IEEEdouble(), "1.5");
 3322     APFloat expected(APFloat::IEEEdouble(), "1.0");
 3327     APFloat f1(APFloat::IEEEdouble(), "0x1p1000");
 3328     APFloat f2(APFloat::IEEEdouble(), "0x1p-1000");
 3329     APFloat expected(APFloat::IEEEdouble(), "0.0");
 3334     APFloat f1(APFloat::IEEEdouble(), "0.0");
 3335     APFloat f2(APFloat::IEEEdouble(), "1.0");
 3336     APFloat expected(APFloat::IEEEdouble(), "0.0");
 3341     APFloat f1(APFloat::IEEEdouble(), "1.0");
 3342     APFloat f2(APFloat::IEEEdouble(), "0.0");
 3347     APFloat f1(APFloat::IEEEdouble(), "0.0");
 3348     APFloat f2(APFloat::IEEEdouble(), "0.0");
 3353     APFloat f1 = APFloat::getInf(APFloat::IEEEdouble(), false);
 3354     APFloat f2(APFloat::IEEEdouble(), "1.0");
 3359     APFloat f1(APFloat::IEEEdouble(), "-4.0");
 3360     APFloat f2(APFloat::IEEEdouble(), "-2.0");
 3361     APFloat expected(APFloat::IEEEdouble(), "-0.0");
 3366     APFloat f1(APFloat::IEEEdouble(), "-4.0");
 3367     APFloat f2(APFloat::IEEEdouble(), "2.0");
 3368     APFloat expected(APFloat::IEEEdouble(), "-0.0");
 3894         APFloat::copySign(Float, APFloat(APFloat::IEEEdouble(), "1"));
 3900         APFloat::copySign(Float, APFloat(APFloat::IEEEdouble(), "-1"));
unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp
   24   APFloat KVal(APFloat::IEEEdouble(), "4.0");
   65   APFloat DoubleVal(APFloat::IEEEdouble());
unittests/tools/llvm-exegesis/RegisterValueTest.cpp
   56   const auto &Semantic = APFloatBase::IEEEdouble();