Chromium Code Reviews| Index: Source/wtf/SaturatedArithmeticTest.cpp |
| diff --git a/Source/wtf/SaturatedArithmeticTest.cpp b/Source/wtf/SaturatedArithmeticTest.cpp |
| index fbe4bd63dd30ef6ba939cc33eeec10b563fdabb5..8c8de25e489ee8289fd8c21cf6bdb02a474372a8 100644 |
| --- a/Source/wtf/SaturatedArithmeticTest.cpp |
| +++ b/Source/wtf/SaturatedArithmeticTest.cpp |
| @@ -110,28 +110,42 @@ TEST(SaturatedArithmeticTest, SetSigned) |
| const int intMaxForLayoutUnit = INT_MAX >> kFractionBits; |
| const int intMinForLayoutUnit = INT_MIN >> kFractionBits; |
| - EXPECT_EQ(0, saturatedSet(0, kFractionBits)); |
| + int v0 = saturatedSetSigned<32-kFractionBits, kFractionBits>(0); |
|
Sami
2014/07/09 13:59:26
Ditto. Same for the tests below.
picksi
2014/07/09 14:27:52
Done.
|
| + EXPECT_EQ(0, v0); |
| // Internally the max number we can represent (without saturating) |
| // is all the (non-sign) bits set except for the bottom n fraction bits |
| const int maxInternalRepresentation = INT_MAX ^ ((1 << kFractionBits)-1); |
| - EXPECT_EQ(maxInternalRepresentation, |
| - saturatedSet(intMaxForLayoutUnit, kFractionBits)); |
| - EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits), |
| - saturatedSet(intMaxForLayoutUnit + 100, kFractionBits)); |
| - |
| - EXPECT_EQ((intMaxForLayoutUnit - 100) << kFractionBits, |
| - saturatedSet(intMaxForLayoutUnit - 100, kFractionBits)); |
| - |
| - EXPECT_EQ(getMinSaturatedSetResultForTesting(kFractionBits), |
| - saturatedSet(intMinForLayoutUnit, kFractionBits)); |
| - |
| - EXPECT_EQ(getMinSaturatedSetResultForTesting(kFractionBits), |
| - saturatedSet(intMinForLayoutUnit - 100, kFractionBits)); |
| - |
| - EXPECT_EQ((intMinForLayoutUnit + 100) << kFractionBits, |
| - saturatedSet(intMinForLayoutUnit + 100, kFractionBits)); |
| + int v1 = saturatedSetSigned< |
| + 32-kFractionBits, |
| + kFractionBits>(intMaxForLayoutUnit); |
| + EXPECT_EQ(maxInternalRepresentation, v1); |
| + |
| + int v2 = saturatedSetSigned< |
| + 32-kFractionBits, |
| + kFractionBits>(intMaxForLayoutUnit + 100); |
| + EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits), v2); |
| + |
| + int v3 = saturatedSetSigned< |
| + 32-kFractionBits, |
| + kFractionBits>(intMaxForLayoutUnit - 100); |
| + EXPECT_EQ((intMaxForLayoutUnit - 100) << kFractionBits, v3); |
| + |
| + int v4 = saturatedSetSigned< |
| + 32-kFractionBits, |
| + kFractionBits>(intMinForLayoutUnit); |
| + EXPECT_EQ(getMinSaturatedSetResultForTesting(kFractionBits), v4); |
| + |
| + int v5 = saturatedSetSigned< |
| + 32-kFractionBits, |
| + kFractionBits>(intMinForLayoutUnit - 100); |
| + EXPECT_EQ(getMinSaturatedSetResultForTesting(kFractionBits), v5); |
| + |
| + int v6 = saturatedSetSigned< |
| + 32-kFractionBits, |
| + kFractionBits>(intMinForLayoutUnit + 100); |
| + EXPECT_EQ((intMinForLayoutUnit + 100) << kFractionBits, v6); |
| } |
| TEST(SaturatedArithmeticTest, SetUnsigned) |
| @@ -139,18 +153,25 @@ TEST(SaturatedArithmeticTest, SetUnsigned) |
| const int kFractionBits = 6; |
| const int intMaxForLayoutUnit = INT_MAX >> kFractionBits; |
| - EXPECT_EQ(0, saturatedSet((unsigned)0, kFractionBits)); |
| + int v1 = saturatedSetUnsigned<31-kFractionBits, kFractionBits>(0); |
| + EXPECT_EQ(0, v1); |
| - EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits), |
| - saturatedSet((unsigned)intMaxForLayoutUnit, kFractionBits)); |
| + int v2 = saturatedSetUnsigned< |
| + 31-kFractionBits, |
| + kFractionBits>((unsigned)intMaxForLayoutUnit); |
| + EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits), v2); |
| const unsigned kOverflowed = intMaxForLayoutUnit + 100; |
| - EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits), |
| - saturatedSet(kOverflowed, kFractionBits)); |
| + int v4 = saturatedSetUnsigned< |
| + 31-kFractionBits, |
| + kFractionBits>(kOverflowed); |
| + EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits), v4); |
| const unsigned kNotOverflowed = intMaxForLayoutUnit - 100; |
| - EXPECT_EQ((intMaxForLayoutUnit - 100) << kFractionBits, |
| - saturatedSet(kNotOverflowed, kFractionBits)); |
| + int v5 = saturatedSetUnsigned< |
| + 31-kFractionBits, |
| + kFractionBits>(kNotOverflowed); |
| + EXPECT_EQ((intMaxForLayoutUnit - 100) << kFractionBits, v5); |
| } |