| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 EXPECT_EQ(Decimal(0), encode(1, -10, Negative).ceil()); | 235 EXPECT_EQ(Decimal(0), encode(1, -10, Negative).ceil()); |
| 236 EXPECT_EQ(Decimal(-1), encode(11, -1, Negative).ceil()); | 236 EXPECT_EQ(Decimal(-1), encode(11, -1, Negative).ceil()); |
| 237 EXPECT_EQ(Decimal(-1), encode(13, -1, Negative).ceil()); | 237 EXPECT_EQ(Decimal(-1), encode(13, -1, Negative).ceil()); |
| 238 EXPECT_EQ(Decimal(-1), encode(15, -1, Negative).ceil()); | 238 EXPECT_EQ(Decimal(-1), encode(15, -1, Negative).ceil()); |
| 239 EXPECT_EQ(Decimal(-1), encode(19, -1, Negative).ceil()); | 239 EXPECT_EQ(Decimal(-1), encode(19, -1, Negative).ceil()); |
| 240 EXPECT_EQ(Decimal(-1), encode(151, -2, Negative).ceil()); | 240 EXPECT_EQ(Decimal(-1), encode(151, -2, Negative).ceil()); |
| 241 EXPECT_EQ(Decimal(-1), encode(101, -2, Negative).ceil()); | 241 EXPECT_EQ(Decimal(-1), encode(101, -2, Negative).ceil()); |
| 242 EXPECT_EQ(Decimal(0), encode(199, -3, Negative).ceil()); | 242 EXPECT_EQ(Decimal(0), encode(199, -3, Negative).ceil()); |
| 243 EXPECT_EQ(Decimal(-1), encode(199, -2, Negative).ceil()); | 243 EXPECT_EQ(Decimal(-1), encode(199, -2, Negative).ceil()); |
| 244 EXPECT_EQ(Decimal(-2), encode(209, -2, Negative).ceil()); | 244 EXPECT_EQ(Decimal(-2), encode(209, -2, Negative).ceil()); |
| 245 EXPECT_EQ(Decimal(1), encode(UINT64_C(123456789012345678), -18, Positive).ce
il()); |
| 245 } | 246 } |
| 246 | 247 |
| 247 TEST_F(DecimalTest, CeilingBigExponent) | 248 TEST_F(DecimalTest, CeilingBigExponent) |
| 248 { | 249 { |
| 249 EXPECT_EQ(encode(1, 1000, Positive), encode(1, 1000, Positive).ceil()); | 250 EXPECT_EQ(encode(1, 1000, Positive), encode(1, 1000, Positive).ceil()); |
| 250 EXPECT_EQ(encode(1, 1000, Negative), encode(1, 1000, Negative).ceil()); | 251 EXPECT_EQ(encode(1, 1000, Negative), encode(1, 1000, Negative).ceil()); |
| 251 } | 252 } |
| 252 | 253 |
| 253 TEST_F(DecimalTest, CeilingSmallExponent) | 254 TEST_F(DecimalTest, CeilingSmallExponent) |
| 254 { | 255 { |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 EXPECT_DECIMAL_ENCODED_DATA_EQ(UINT64_C(100000000000000000), 0, Negative, en
code(UINT64_C(100000000000000000), 0, Negative)); | 487 EXPECT_DECIMAL_ENCODED_DATA_EQ(UINT64_C(100000000000000000), 0, Negative, en
code(UINT64_C(100000000000000000), 0, Negative)); |
| 487 } | 488 } |
| 488 | 489 |
| 489 TEST_F(DecimalTest, Division) | 490 TEST_F(DecimalTest, Division) |
| 490 { | 491 { |
| 491 EXPECT_EQ(encode(0, 0, Positive), Decimal(0) / Decimal(1)); | 492 EXPECT_EQ(encode(0, 0, Positive), Decimal(0) / Decimal(1)); |
| 492 EXPECT_EQ(encode(2, 0, Negative), Decimal(2) / Decimal(-1)); | 493 EXPECT_EQ(encode(2, 0, Negative), Decimal(2) / Decimal(-1)); |
| 493 EXPECT_EQ(encode(5, -1, Negative), Decimal(-1) / Decimal(2)); | 494 EXPECT_EQ(encode(5, -1, Negative), Decimal(-1) / Decimal(2)); |
| 494 EXPECT_EQ(encode(99, 0, Positive), Decimal(99) / Decimal(1)); | 495 EXPECT_EQ(encode(99, 0, Positive), Decimal(99) / Decimal(1)); |
| 495 EXPECT_EQ(Decimal(1), Decimal(-50) / Decimal(-50)); | 496 EXPECT_EQ(Decimal(1), Decimal(-50) / Decimal(-50)); |
| 496 EXPECT_EQ(encode(UINT64_C(33333333333333333), -17, Positive), Decimal(1) / D
ecimal(3)); | 497 EXPECT_EQ(encode(UINT64_C(333333333333333333), -18, Positive), Decimal(1) /
Decimal(3)); |
| 497 EXPECT_EQ(encode(UINT64_C(12345678901234), -1, Positive), encode(UINT64_C(12
345678901234), 0, Positive) / Decimal(10)); | 498 EXPECT_EQ(encode(UINT64_C(12345678901234), -1, Positive), encode(UINT64_C(12
345678901234), 0, Positive) / Decimal(10)); |
| 499 EXPECT_EQ(encode(UINT64_C(500005000050000500), -18, Positive), Decimal(50000
) / Decimal(99999)); |
| 498 } | 500 } |
| 499 | 501 |
| 500 TEST_F(DecimalTest, DivisionBigExponent) | 502 TEST_F(DecimalTest, DivisionBigExponent) |
| 501 { | 503 { |
| 502 EXPECT_EQ(encode(1, 1022, Positive), encode(1, 1022, Positive) / encode(1, 0
, Positive)); | 504 EXPECT_EQ(encode(1, 1022, Positive), encode(1, 1022, Positive) / encode(1, 0
, Positive)); |
| 503 EXPECT_EQ(encode(1, 0, Positive), encode(1, 1022, Positive) / encode(1, 1022
, Positive)); | 505 EXPECT_EQ(encode(1, 0, Positive), encode(1, 1022, Positive) / encode(1, 1022
, Positive)); |
| 504 EXPECT_EQ(Decimal::infinity(Positive), encode(1, 1022, Positive) / encode(1,
-1000, Positive)); | 506 EXPECT_EQ(Decimal::infinity(Positive), encode(1, 1022, Positive) / encode(1,
-1000, Positive)); |
| 505 } | 507 } |
| 506 | 508 |
| 507 TEST_F(DecimalTest, DivisionSmallExponent) | 509 TEST_F(DecimalTest, DivisionSmallExponent) |
| (...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1114 EXPECT_DECIMAL_STREQ("0.001", encode(UINT64_C(99999999999999999), -20, Posit
ive)); | 1116 EXPECT_DECIMAL_STREQ("0.001", encode(UINT64_C(99999999999999999), -20, Posit
ive)); |
| 1115 EXPECT_DECIMAL_STREQ("1e-83", encode(UINT64_C(99999999999999999), -100, Posi
tive)); | 1117 EXPECT_DECIMAL_STREQ("1e-83", encode(UINT64_C(99999999999999999), -100, Posi
tive)); |
| 1116 } | 1118 } |
| 1117 | 1119 |
| 1118 TEST_F(DecimalTest, ToStringSpecialValues) | 1120 TEST_F(DecimalTest, ToStringSpecialValues) |
| 1119 { | 1121 { |
| 1120 EXPECT_DECIMAL_STREQ("Infinity", Decimal::infinity(Positive)); | 1122 EXPECT_DECIMAL_STREQ("Infinity", Decimal::infinity(Positive)); |
| 1121 EXPECT_DECIMAL_STREQ("-Infinity", Decimal::infinity(Negative)); | 1123 EXPECT_DECIMAL_STREQ("-Infinity", Decimal::infinity(Negative)); |
| 1122 EXPECT_DECIMAL_STREQ("NaN", Decimal::nan()); | 1124 EXPECT_DECIMAL_STREQ("NaN", Decimal::nan()); |
| 1123 } | 1125 } |
| OLD | NEW |