| Index: Source/wtf/SaturatedArithmeticTest.cpp
|
| diff --git a/Source/wtf/SaturatedArithmeticTest.cpp b/Source/wtf/SaturatedArithmeticTest.cpp
|
| index fbe4bd63dd30ef6ba939cc33eeec10b563fdabb5..9ea14249933a49cad49b666e4629c7ee0e782f28 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);
|
| + 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);
|
| }
|
|
|
|
|
|
|