BlendTest: implicit casts -> explicit casts
authorcommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 26 Feb 2014 21:40:07 +0000 (21:40 +0000)
committercommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 26 Feb 2014 21:40:07 +0000 (21:40 +0000)
BUG=skia:

Committed: http://code.google.com/p/skia/source/detail?r=13595

R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/181503003

git-svn-id: http://skia.googlecode.com/svn/trunk@13602 2bbb7eff-a529-9590-31e7-b0007b416f81

tests/BlendTest.cpp

index b72d8d5..a0a84d7 100644 (file)
@@ -3,6 +3,12 @@
 
 #define ASSERT(x) REPORTER_ASSERT(r, x)
 
+static uint8_t double_to_u8(double d) {
+    SkASSERT(d >= 0);
+    SkASSERT(d < 256);
+    return uint8_t(d);
+}
+
 // All algorithms we're testing have this interface.
 // We want a single channel blend, src over dst, assuming src is premultiplied by srcAlpha.
 typedef uint8_t(*Blend)(uint8_t dst, uint8_t src, uint8_t srcAlpha);
@@ -10,7 +16,7 @@ typedef uint8_t(*Blend)(uint8_t dst, uint8_t src, uint8_t srcAlpha);
 // This is our golden algorithm.
 static uint8_t blend_double_round(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
     SkASSERT(src <= srcAlpha);
-    return SkToU8(0.5 + src + dst * (255.0 - srcAlpha) / 255.0);
+    return double_to_u8(0.5 + src + dst * (255.0 - srcAlpha) / 255.0);
 }
 
 static uint8_t abs_diff(uint8_t a, uint8_t b) {
@@ -52,15 +58,15 @@ static void test_dst(skiatest::Reporter* r, uint8_t dst, int maxDiff, Blend algo
 }
 
 static uint8_t blend_double_trunc(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
-    return SkToU8(src + dst * (255.0 - srcAlpha) / 255.0);
+    return double_to_u8(src + dst * (255.0 - srcAlpha) / 255.0);
 }
 
 static uint8_t blend_float_trunc(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
-    return SkToU8(src + dst * (255.0f - srcAlpha) / 255.0f);
+    return double_to_u8(src + dst * (255.0f - srcAlpha) / 255.0f);
 }
 
 static uint8_t blend_float_round(uint8_t dst, uint8_t src, uint8_t srcAlpha) {
-    return SkToU8(0.5f + src + dst * (255.0f - srcAlpha) / 255.0f);
+    return double_to_u8(0.5f + src + dst * (255.0f - srcAlpha) / 255.0f);
 }
 
 static uint8_t blend_255_trunc(uint8_t dst, uint8_t src, uint8_t srcAlpha) {