| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright 2016 the V8 project authors. All rights reserved. | 
|  | 2 // Use of this source code is governed by a BSD-style license that can be | 
|  | 3 // found in the LICENSE file. | 
|  | 4 | 
|  | 5 #include <limits> | 
|  | 6 | 
|  | 7 #include "src/base/ieee754.h" | 
|  | 8 #include "src/base/macros.h" | 
|  | 9 #include "testing/gmock-support.h" | 
|  | 10 #include "testing/gtest-support.h" | 
|  | 11 | 
|  | 12 using testing::IsNaN; | 
|  | 13 | 
|  | 14 namespace v8 { | 
|  | 15 namespace base { | 
|  | 16 namespace ieee754 { | 
|  | 17 | 
|  | 18 TEST(Ieee754, Log) { | 
|  | 19   EXPECT_THAT(log(std::numeric_limits<double>::quiet_NaN()), IsNaN()); | 
|  | 20   EXPECT_THAT(log(std::numeric_limits<double>::signaling_NaN()), IsNaN()); | 
|  | 21   EXPECT_THAT(log(-std::numeric_limits<double>::infinity()), IsNaN()); | 
|  | 22   EXPECT_THAT(log(-1.0), IsNaN()); | 
|  | 23   EXPECT_EQ(-std::numeric_limits<double>::infinity(), log(-0.0)); | 
|  | 24   EXPECT_EQ(-std::numeric_limits<double>::infinity(), log(0.0)); | 
|  | 25   EXPECT_EQ(0.0, log(1.0)); | 
|  | 26   EXPECT_EQ(std::numeric_limits<double>::infinity(), | 
|  | 27             log(std::numeric_limits<double>::infinity())); | 
|  | 28 } | 
|  | 29 | 
|  | 30 TEST(Ieee754, Log1p) { | 
|  | 31   EXPECT_THAT(log1p(std::numeric_limits<double>::quiet_NaN()), IsNaN()); | 
|  | 32   EXPECT_THAT(log1p(std::numeric_limits<double>::signaling_NaN()), IsNaN()); | 
|  | 33   EXPECT_THAT(log1p(-std::numeric_limits<double>::infinity()), IsNaN()); | 
|  | 34   EXPECT_EQ(-std::numeric_limits<double>::infinity(), log1p(-1.0)); | 
|  | 35   EXPECT_EQ(0.0, log1p(0.0)); | 
|  | 36   EXPECT_EQ(-0.0, log1p(-0.0)); | 
|  | 37   EXPECT_EQ(std::numeric_limits<double>::infinity(), | 
|  | 38             log1p(std::numeric_limits<double>::infinity())); | 
|  | 39   EXPECT_EQ(6.9756137364252422e-03, log1p(0.007)); | 
|  | 40   EXPECT_EQ(709.782712893384, log1p(1.7976931348623157e308)); | 
|  | 41   EXPECT_EQ(2.7755575615628914e-17, log1p(2.7755575615628914e-17)); | 
|  | 42   EXPECT_EQ(9.313225741817976e-10, log1p(9.313225746154785e-10)); | 
|  | 43   EXPECT_EQ(-0.2876820724517809, log1p(-0.25)); | 
|  | 44   EXPECT_EQ(0.22314355131420976, log1p(0.25)); | 
|  | 45   EXPECT_EQ(2.3978952727983707, log1p(10)); | 
|  | 46   EXPECT_EQ(36.841361487904734, log1p(10e15)); | 
|  | 47   EXPECT_EQ(37.08337388996168, log1p(12738099905822720)); | 
|  | 48   EXPECT_EQ(37.08336444902049, log1p(12737979646738432)); | 
|  | 49   EXPECT_EQ(1.3862943611198906, log1p(3)); | 
|  | 50   EXPECT_EQ(1.3862945995384413, log1p(3 + 9.5367431640625e-7)); | 
|  | 51   EXPECT_EQ(0.5596157879354227, log1p(0.75)); | 
|  | 52   EXPECT_EQ(0.8109302162163288, log1p(1.25)); | 
|  | 53 } | 
|  | 54 | 
|  | 55 }  // namespace ieee754 | 
|  | 56 }  // namespace base | 
|  | 57 }  // namespace v8 | 
| OLD | NEW | 
|---|