aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkScalar.h
diff options
context:
space:
mode:
authorGravatar bungeman <bungeman@google.com>2015-03-09 13:40:15 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-03-09 13:40:15 -0700
commit167eb17cd6654a0ab6f7c544441a0defa88e3827 (patch)
tree2e8f6612b7a4c41496330a98381ed160b0de6e2e /include/core/SkScalar.h
parenta548593a65f3ccdae61ba627edda98b230f2dc37 (diff)
Use SkTMin and SkTMax for clamp/pin.
This changes SkScalarClampMax and SkScalarPin to use SkTMin and SkTMax. This change allows compilers to more easily transform these operations into fast max/min operarations as opposed to conditional branches. Review URL: https://codereview.chromium.org/993593002
Diffstat (limited to 'include/core/SkScalar.h')
-rw-r--r--include/core/SkScalar.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/core/SkScalar.h b/include/core/SkScalar.h
index 3c1787ed2d..fae23eb23a 100644
--- a/include/core/SkScalar.h
+++ b/include/core/SkScalar.h
@@ -169,11 +169,15 @@ static inline int SkDScalarRoundToInt(SkScalar x) {
}
static inline SkScalar SkScalarClampMax(SkScalar x, SkScalar max) {
- return x < 0 ? 0 : x > max ? max : x;
+ x = SkTMin(x, max);
+ x = SkTMax<SkScalar>(x, 0);
+ return x;
}
static inline SkScalar SkScalarPin(SkScalar x, SkScalar min, SkScalar max) {
- return x < min ? min : x > max ? max : x;
+ x = SkTMin(x, max);
+ x = SkTMax(x, min);
+ return x;
}
SkScalar SkScalarSinCos(SkScalar radians, SkScalar* cosValue);