Index: test/unittests/base/math-unittest.cc |
diff --git a/test/unittests/base/math-unittest.cc b/test/unittests/base/math-unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7e703c7860c3e395c818a567760a009e8ff4d1fc |
--- /dev/null |
+++ b/test/unittests/base/math-unittest.cc |
@@ -0,0 +1,37 @@ |
+// Copyright 2015 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include <limits> |
+ |
+#include "src/base/math.h" |
+#include "testing/gtest-support.h" |
+ |
+namespace v8 { |
+namespace base { |
+ |
+TEST(Math, IsQuietNaN) { |
+ EXPECT_FALSE(IsQuietNaN(0.0f)); |
+ EXPECT_FALSE(IsQuietNaN(0.0)); |
+ EXPECT_TRUE(IsQuietNaN(std::numeric_limits<float>::quiet_NaN())); |
+ EXPECT_TRUE(IsQuietNaN(std::numeric_limits<double>::quiet_NaN())); |
+ EXPECT_FALSE(IsQuietNaN(std::numeric_limits<float>::signaling_NaN())); |
+ EXPECT_FALSE(IsQuietNaN(std::numeric_limits<double>::signaling_NaN())); |
+ EXPECT_FALSE(IsQuietNaN(std::numeric_limits<float>::infinity())); |
+ EXPECT_FALSE(IsQuietNaN(std::numeric_limits<double>::infinity())); |
+} |
+ |
+ |
+TEST(Math, IsSignalingNaN) { |
+ EXPECT_FALSE(IsSignalingNaN(0.0f)); |
+ EXPECT_FALSE(IsSignalingNaN(0.0)); |
+ EXPECT_TRUE(IsSignalingNaN(std::numeric_limits<float>::signaling_NaN())); |
+ EXPECT_TRUE(IsSignalingNaN(std::numeric_limits<double>::signaling_NaN())); |
+ EXPECT_FALSE(IsSignalingNaN(std::numeric_limits<float>::quiet_NaN())); |
+ EXPECT_FALSE(IsSignalingNaN(std::numeric_limits<double>::quiet_NaN())); |
+ EXPECT_FALSE(IsSignalingNaN(std::numeric_limits<float>::infinity())); |
+ EXPECT_FALSE(IsSignalingNaN(std::numeric_limits<double>::infinity())); |
+} |
+ |
+} // namespace base |
+} // namespace v8 |