[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 f052dc382f163af1e324640c79b6732680f43a88..4b95427b113bc2e5167a12856da84dc92160d61d 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 29fcdb83b6a27bf923f56ae8f80f5348f95dacbb..66f2f09563482fd7af8831c3d788b1ecb7b5b714 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 b84db3003cc6a86aa85c612f46f844bd7c00bdb6..4be7e0208dc7999b21a8e986bd6dc6e06e813aca 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 7d6661cb4b8b82f64b0d7c21a9f6e5ee7fa9ecbb..812dd4c8e5af24a1d315bbee90aef20c4152692d 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 72f7636cb0ebfacada4b749f33d2ec8bb5266568..6eac0095c62a94b7a3ea30d4460fe73b6d9d66bf 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 5deaa857c1f2ef5ca7d85c2c97d9b311d4f91dde..6782e8cb9e80ab38bd5a068134e93708479d109c 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 d9a01dd506d88c64457cbef0b2c4631bea166312..f7c16e57702bece5e847b497f5b6aafa4adb5d6c 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 75200b1212e583e91740446a2e4975f56521b368..289c3957e3c17c014eff5e0df80217b96edb8373 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) {