Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2290)

Unified Diff: Source/wtf/SaturatedArithmeticTest.cpp

Issue 378253003: Saturated arithmetic changed to use templates to fix build-issues (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixing up code layout issues Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698