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

Declarations

include/llvm/ADT/APFloat.h
 1197   friend APFloat scalbn(APFloat X, int Exp, roundingMode RM);

References

lib/Support/APFloat.cpp
 4435   return DoubleAPFloat(semPPCDoubleDouble, scalbn(Arg.Floats[0], Exp, RM),
 4436                        scalbn(Arg.Floats[1], Exp, RM));
 4445     Second = scalbn(Second, -Exp, RM);
tools/clang/lib/AST/ExprConstant.cpp
12997           C = scalbn(C, -DenomLogB, APFloat::rmNearestTiesToEven);
12998           D = scalbn(D, -DenomLogB, APFloat::rmNearestTiesToEven);
13001         ResR = scalbn((A * C + B * D) / Denom, -DenomLogB,
13003         ResI = scalbn((B * C - A * D) / Denom, -DenomLogB,
unittests/ADT/APFloatTest.cpp
 1638     Result = scalbn(APFloat(APFloat::PPCDoubleDouble(), "1.0"), 1,
 3004       .bitwiseIsEqual(scalbn(APFloat(APFloat::IEEEsingle(), "0x1p+0"), 0, RM)));
 3007       .bitwiseIsEqual(scalbn(APFloat(APFloat::IEEEsingle(), "0x1p+0"), 42, RM)));
 3010       .bitwiseIsEqual(scalbn(APFloat(APFloat::IEEEsingle(), "0x1p+0"), -42, RM)));
 3020   EXPECT_TRUE(PInf.bitwiseIsEqual(scalbn(PInf, 0, RM)));
 3021   EXPECT_TRUE(MInf.bitwiseIsEqual(scalbn(MInf, 0, RM)));
 3022   EXPECT_TRUE(PZero.bitwiseIsEqual(scalbn(PZero, 0, RM)));
 3023   EXPECT_TRUE(MZero.bitwiseIsEqual(scalbn(MZero, 0, RM)));
 3024   EXPECT_TRUE(QPNaN.bitwiseIsEqual(scalbn(QPNaN, 0, RM)));
 3025   EXPECT_TRUE(QMNaN.bitwiseIsEqual(scalbn(QMNaN, 0, RM)));
 3026   EXPECT_FALSE(scalbn(SNaN, 0, RM).isSignaling());
 3028   APFloat ScalbnSNaN = scalbn(SNaN, 1, RM);
 3039   APFloat QuietPayload = scalbn(SNaNWithPayload, 1, RM);
 3044                 scalbn(APFloat(APFloat::IEEEsingle(), "0x1p+0"), 128, RM)));
 3046                 scalbn(APFloat(APFloat::IEEEsingle(), "-0x1p+0"), 128, RM)));
 3048                 scalbn(APFloat(APFloat::IEEEsingle(), "0x1p+127"), 1, RM)));
 3050                 scalbn(APFloat(APFloat::IEEEsingle(), "0x1p-127"), -127, RM)));
 3052                 scalbn(APFloat(APFloat::IEEEsingle(), "-0x1p-127"), -127, RM)));
 3054                 scalbn(APFloat(APFloat::IEEEsingle(), "-0x1p-127"), -22, RM)));
 3056                 scalbn(APFloat(APFloat::IEEEsingle(), "0x1p-126"), -24, RM)));
 3075                 scalbn(APFloat(APFloat::IEEEdouble(), "0x1p-1074"), 0, RM)));
 3077                 scalbn(APFloat(APFloat::IEEEdouble(), "-0x1p-1074"), 0, RM)));
 3080               .bitwiseIsEqual(scalbn(SmallestF64, 2097, RM)));
 3082   EXPECT_TRUE(scalbn(SmallestF64, -2097, RM).isPosZero());
 3083   EXPECT_TRUE(scalbn(SmallestF64, -2098, RM).isPosZero());
 3084   EXPECT_TRUE(scalbn(SmallestF64, -2099, RM).isPosZero());
 3086               .bitwiseIsEqual(scalbn(SmallestF64, 2096, RM)));
 3088               .bitwiseIsEqual(scalbn(SmallestF64, 2097, RM)));
 3089   EXPECT_TRUE(scalbn(SmallestF64, 2098, RM).isInfinity());
 3090   EXPECT_TRUE(scalbn(SmallestF64, 2099, RM).isInfinity());
 3093   EXPECT_TRUE(scalbn(SmallestF64, -INT_MAX, RM).isPosZero());
 3094   EXPECT_TRUE(scalbn(LargestF64, INT_MAX, RM).isInfinity());
 3097               .bitwiseIsEqual(scalbn(LargestDenormalF64, 0, RM)));
 3099               .bitwiseIsEqual(scalbn(NegLargestDenormalF64, 0, RM)));
 3102               .bitwiseIsEqual(scalbn(LargestDenormalF64, 1, RM)));
 3104               .bitwiseIsEqual(scalbn(NegLargestDenormalF64, 2, RM)));
 3107               .bitwiseIsEqual(scalbn(LargestDenormalF64, 1024, RM)));
 3108   EXPECT_TRUE(scalbn(LargestDenormalF64, -1023, RM).isPosZero());
 3109   EXPECT_TRUE(scalbn(LargestDenormalF64, -1024, RM).isPosZero());
 3110   EXPECT_TRUE(scalbn(LargestDenormalF64, -2048, RM).isPosZero());
 3111   EXPECT_TRUE(scalbn(LargestDenormalF64, 2047, RM).isInfinity());
 3112   EXPECT_TRUE(scalbn(LargestDenormalF64, 2098, RM).isInfinity());
 3113   EXPECT_TRUE(scalbn(LargestDenormalF64, 2099, RM).isInfinity());
 3116               .bitwiseIsEqual(scalbn(LargestDenormalF64, 1021, RM)));
 3118               .bitwiseIsEqual(scalbn(LargestDenormalF64, 1022, RM)));
 3120               .bitwiseIsEqual(scalbn(LargestDenormalF64, 1023, RM)));
 3122               .bitwiseIsEqual(scalbn(LargestDenormalF64, 2046, RM)));
 3124               .bitwiseIsEqual(scalbn(SmallestF64, 2048, RM)));
 3128               .bitwiseIsEqual(scalbn(RandomDenormalF64, -1023, RM)));
 3130               .bitwiseIsEqual(scalbn(RandomDenormalF64, -52, RM)));
 3132               .bitwiseIsEqual(scalbn(RandomDenormalF64, -53, RM)));
 3134               .bitwiseIsEqual(scalbn(RandomDenormalF64, -51, RM)));
 3136   EXPECT_TRUE(scalbn(RandomDenormalF64, -2097, RM).isPosZero());
 3137   EXPECT_TRUE(scalbn(RandomDenormalF64, -2090, RM).isPosZero());
 3142     .bitwiseIsEqual(scalbn(NegLargestF64, -2097, RM)));
 3146     .bitwiseIsEqual(scalbn(NegLargestF64, -2048, RM)));
 3150     .bitwiseIsEqual(scalbn(LargestF64, -2097, RM)));
 3154     .bitwiseIsEqual(scalbn(LargestF64, -2098, RM)));
 3156               .bitwiseIsEqual(scalbn(NegLargestF64, -2098, RM)));
 3157   EXPECT_TRUE(scalbn(NegLargestF64, -2099, RM).isNegZero());
 3158   EXPECT_TRUE(scalbn(LargestF64, 1, RM).isInfinity());
 3163     .bitwiseIsEqual(scalbn(APFloat(APFloat::IEEEdouble(), "0x1p+52"), -52, RM)));
 3167     .bitwiseIsEqual(scalbn(APFloat(APFloat::IEEEdouble(), "0x1p-51"), -52, RM)));
 3992       scalbn(APFloat(APFloat::PPCDoubleDouble(), APInt(128, 2, Input)), 1,