OSDN Git Service

[libc][NFC] Use ASSERT_FP_EQ to comapre NaN values in tests.
authorSiva Chandra Reddy <sivachandra@google.com>
Fri, 18 Dec 2020 06:55:18 +0000 (22:55 -0800)
committerSiva Chandra Reddy <sivachandra@google.com>
Fri, 18 Dec 2020 07:16:26 +0000 (23:16 -0800)
This is a continuation of the previous CL which did a similar change in
other tests. To elaborate a little about why we need this - under C++
compilation with headers not from LLVM libc, libraries like libc++ and
libstdc++ provide their own math.h which undefine macros like `isnan`
and provide the overloaded C++ isnan functions which return a boolean
value instead of an integer value returned by the isnan macro.

libc/test/src/math/FDimTest.h
libc/test/src/math/RemQuoTest.h
libc/test/src/math/fmax_test.cpp
libc/test/src/math/fmaxf_test.cpp
libc/test/src/math/fmaxl_test.cpp
libc/test/src/math/fmin_test.cpp
libc/test/src/math/fminf_test.cpp
libc/test/src/math/fminl_test.cpp

index f052dc3..4b95427 100644 (file)
@@ -26,7 +26,7 @@ public:
     EXPECT_FP_EQ(nan, func(negZero, nan));
     EXPECT_FP_EQ(nan, func(nan, T(-1.2345)));
     EXPECT_FP_EQ(nan, func(T(1.2345), nan));
-    EXPECT_NE(isnan(func(nan, nan)), 0);
+    EXPECT_FP_EQ(func(nan, nan), nan);
   }
 
   void testInfArg(FuncPtr func) {
index 29fcdb8..66f2f09 100644 (file)
@@ -38,27 +38,27 @@ public:
 
     y = T(1.0);
     x = inf;
-    EXPECT_NE(isnan(func(x, y, &quotient)), 0);
+    EXPECT_FP_EQ(nan, func(x, y, &quotient));
     x = negInf;
-    EXPECT_NE(isnan(func(x, y, &quotient)), 0);
+    EXPECT_FP_EQ(nan, func(x, y, &quotient));
 
     x = T(1.0);
     y = zero;
-    EXPECT_NE(isnan(func(x, y, &quotient)), 0);
+    EXPECT_FP_EQ(nan, func(x, y, &quotient));
     y = negZero;
-    EXPECT_NE(isnan(func(x, y, &quotient)), 0);
+    EXPECT_FP_EQ(nan, func(x, y, &quotient));
 
     y = nan;
     x = T(1.0);
-    EXPECT_NE(isnan(func(x, y, &quotient)), 0);
+    EXPECT_FP_EQ(nan, func(x, y, &quotient));
 
     y = T(1.0);
     x = nan;
-    EXPECT_NE(isnan(func(x, y, &quotient)), 0);
+    EXPECT_FP_EQ(nan, func(x, y, &quotient));
 
     x = nan;
     y = nan;
-    EXPECT_NE(isnan(func(x, y, &quotient)), 0);
+    EXPECT_FP_EQ(nan, func(x, y, &quotient));
 
     x = zero;
     y = T(1.0);
index b84db30..4be7e02 100644 (file)
@@ -23,7 +23,7 @@ TEST(FmaxTest, NaNArg) {
   EXPECT_FP_EQ(-0.0, __llvm_libc::fmax(-0.0, aNaN));
   EXPECT_FP_EQ(-1.2345, __llvm_libc::fmax(aNaN, -1.2345));
   EXPECT_FP_EQ(1.2345, __llvm_libc::fmax(1.2345, aNaN));
-  EXPECT_NE(isnan(__llvm_libc::fmax(aNaN, aNaN)), 0);
+  EXPECT_FP_EQ(aNaN, __llvm_libc::fmax(aNaN, aNaN));
 }
 
 TEST(FmaxTest, InfArg) {
index 7d6661c..812dd4c 100644 (file)
@@ -23,7 +23,7 @@ TEST(FmaxfTest, NaNArg) {
   EXPECT_FP_EQ(-0.0f, __llvm_libc::fmaxf(-0.0f, aNaN));
   EXPECT_FP_EQ(-1.2345f, __llvm_libc::fmaxf(aNaN, -1.2345f));
   EXPECT_FP_EQ(1.2345f, __llvm_libc::fmaxf(1.2345f, aNaN));
-  EXPECT_NE(isnan(__llvm_libc::fmaxf(aNaN, aNaN)), 0);
+  EXPECT_FP_EQ(aNaN, __llvm_libc::fmaxf(aNaN, aNaN));
 }
 
 TEST(FmaxfTest, InfArg) {
index 72f7636..6eac009 100644 (file)
@@ -23,7 +23,7 @@ TEST(FmaxlTest, NaNArg) {
   EXPECT_FP_EQ(-0.0L, __llvm_libc::fmaxl(-0.0L, aNaN));
   EXPECT_FP_EQ(-1.2345L, __llvm_libc::fmaxl(aNaN, -1.2345L));
   EXPECT_FP_EQ(1.2345L, __llvm_libc::fmaxl(1.2345L, aNaN));
-  EXPECT_NE(isnan(__llvm_libc::fmaxl(aNaN, aNaN)), 0);
+  EXPECT_FP_EQ(aNaN, __llvm_libc::fmaxl(aNaN, aNaN));
 }
 
 TEST(FmaxlTest, InfArg) {
index 5deaa85..6782e8c 100644 (file)
@@ -23,7 +23,7 @@ TEST(FminTest, NaNArg) {
   EXPECT_FP_EQ(-0.0, __llvm_libc::fmin(-0.0, aNaN));
   EXPECT_FP_EQ(-1.2345, __llvm_libc::fmin(aNaN, -1.2345));
   EXPECT_FP_EQ(1.2345, __llvm_libc::fmin(1.2345, aNaN));
-  EXPECT_NE(isnan(__llvm_libc::fmin(aNaN, aNaN)), 0);
+  EXPECT_FP_EQ(aNaN, __llvm_libc::fmin(aNaN, aNaN));
 }
 
 TEST(FminTest, InfArg) {
index d9a01dd..f7c16e5 100644 (file)
@@ -23,7 +23,7 @@ TEST(FminfTest, NaNArg) {
   EXPECT_FP_EQ(-0.0f, __llvm_libc::fminf(-0.0f, aNaN));
   EXPECT_FP_EQ(-1.2345f, __llvm_libc::fminf(aNaN, -1.2345f));
   EXPECT_FP_EQ(1.2345f, __llvm_libc::fminf(1.2345f, aNaN));
-  EXPECT_NE(isnan(__llvm_libc::fminf(aNaN, aNaN)), 0);
+  EXPECT_FP_EQ(aNaN, __llvm_libc::fminf(aNaN, aNaN));
 }
 
 TEST(FminfTest, InfArg) {
index 75200b1..289c395 100644 (file)
@@ -23,7 +23,7 @@ TEST(FminlTest, NaNArg) {
   EXPECT_FP_EQ(-0.0L, __llvm_libc::fminl(-0.0L, aNaN));
   EXPECT_FP_EQ(-1.2345L, __llvm_libc::fminl(aNaN, -1.2345L));
   EXPECT_FP_EQ(1.2345L, __llvm_libc::fminl(1.2345L, aNaN));
-  EXPECT_NE(isnan(__llvm_libc::fminl(aNaN, aNaN)), 0);
+  EXPECT_FP_EQ(aNaN, __llvm_libc::fminl(aNaN, aNaN));
 }
 
 TEST(FminlTest, InfArg) {