@@ -832,8 +832,9 @@ TEST(APFloatTest, IsSmallestNormalized) {
832
832
EXPECT_FALSE (APFloat::getZero (Semantics, false ).isSmallestNormalized ());
833
833
EXPECT_FALSE (APFloat::getZero (Semantics, true ).isSmallestNormalized ());
834
834
835
- if (APFloat::semanticsHasNanOrInf (Semantics)) {
835
+ if (APFloat::semanticsHasNaN (Semantics)) {
836
836
// Types that do not support Inf will return NaN when asked for Inf.
837
+ // (But only if they support NaN.)
837
838
EXPECT_FALSE (APFloat::getInf (Semantics, false ).isSmallestNormalized ());
838
839
EXPECT_FALSE (APFloat::getInf (Semantics, true ).isSmallestNormalized ());
839
840
@@ -2557,6 +2558,14 @@ TEST(APFloatTest, isInfinity) {
2557
2558
EXPECT_FALSE (APFloat::getNaN (APFloat::IEEEsingle (), false ).isInfinity ());
2558
2559
EXPECT_FALSE (APFloat::getSNaN (APFloat::IEEEsingle (), false ).isInfinity ());
2559
2560
EXPECT_FALSE (APFloat (APFloat::IEEEsingle (), " 0x1p-149" ).isInfinity ());
2561
+
2562
+ for (unsigned I = 0 ; I != APFloat::S_MaxSemantics + 1 ; ++I) {
2563
+ const fltSemantics &Semantics =
2564
+ APFloat::EnumToSemantics (static_cast <APFloat::Semantics>(I));
2565
+ if (APFloat::semanticsHasInf (fltSemantics)) {
2566
+ EXPECT_TRUE (APFloat::getInf (fltSemantics).isInfinity ());
2567
+ }
2568
+ }
2560
2569
}
2561
2570
2562
2571
TEST (APFloatTest, isNaN) {
@@ -2567,6 +2576,14 @@ TEST(APFloatTest, isNaN) {
2567
2576
EXPECT_TRUE (APFloat::getNaN (APFloat::IEEEsingle (), false ).isNaN ());
2568
2577
EXPECT_TRUE (APFloat::getSNaN (APFloat::IEEEsingle (), false ).isNaN ());
2569
2578
EXPECT_FALSE (APFloat (APFloat::IEEEsingle (), " 0x1p-149" ).isNaN ());
2579
+
2580
+ for (unsigned I = 0 ; I != APFloat::S_MaxSemantics + 1 ; ++I) {
2581
+ const fltSemantics &Semantics =
2582
+ APFloat::EnumToSemantics (static_cast <APFloat::Semantics>(I));
2583
+ if (APFloat::semanticsHasNaN (fltSemantics)) {
2584
+ EXPECT_TRUE (APFloat::getNaN (fltSemantics).isNaN ());
2585
+ }
2586
+ }
2570
2587
}
2571
2588
2572
2589
TEST (APFloatTest, isFiniteNonZero) {
@@ -7345,8 +7362,9 @@ TEST(APFloatTest, getExactLog2) {
7345
7362
EXPECT_EQ (INT_MIN, APFloat::getZero (Semantics, false ).getExactLog2Abs ());
7346
7363
EXPECT_EQ (INT_MIN, APFloat::getZero (Semantics, true ).getExactLog2Abs ());
7347
7364
7348
- if (APFloat::semanticsHasNanOrInf (Semantics)) {
7365
+ if (APFloat::semanticsHasNaN (Semantics)) {
7349
7366
// Types that do not support Inf will return NaN when asked for Inf.
7367
+ // (But only if they support NaN.)
7350
7368
EXPECT_EQ (INT_MIN, APFloat::getInf (Semantics).getExactLog2 ());
7351
7369
EXPECT_EQ (INT_MIN, APFloat::getInf (Semantics, true ).getExactLog2 ());
7352
7370
EXPECT_EQ (INT_MIN, APFloat::getNaN (Semantics, false ).getExactLog2 ());
0 commit comments