Index: src/core/SkFDot6.h |
diff --git a/src/core/SkFDot6.h b/src/core/SkFDot6.h |
index 3da753da413180de77c162092c4fc98f64d02239..5c7822346447032297a78d8842b14ece6f57733d 100644 |
--- a/src/core/SkFDot6.h |
+++ b/src/core/SkFDot6.h |
@@ -56,9 +56,9 @@ inline SkFDot6 SkScalarRoundToFDot6(SkScalar x, int shift = 0) |
#define SkFixedToFDot6(x) ((x) >> 10) |
inline SkFixed SkFDot6ToFixed(SkFDot6 x) { |
- SkASSERT((x << 10 >> 10) == x); |
+ SkASSERT((x * (1 << 10) >> 10) == x); |
- return x << 10; |
+ return x * (1 << 10); |
} |
#define SkScalarToFDot6(x) (SkFDot6)((x) * 64) |
@@ -68,7 +68,7 @@ inline SkFixed SkFDot6Div(SkFDot6 a, SkFDot6 b) { |
SkASSERT(b != 0); |
if (a == (int16_t)a) { |
- return (a << 16) / b; |
+ return a * (1 << 16) / b; |
} else { |
return SkFixedDiv(a, b); |
} |