aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-09-03 00:23:09 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-03 00:23:11 +0000
commitf620b130b1d1a6535d656e3b90da0c515e6304b2 (patch)
tree1f2632b1dbae5362db4bc804c31e5d5eea8b8d91 /native/jni/src
parent961cb1abf3902e32e328ede1766f02bbbb257ab0 (diff)
parent985b2c2e91485a0cb293bff35a80877b2be71eae (diff)
downloadlatinime-f620b130b1d1a6535d656e3b90da0c515e6304b2.tar.gz
latinime-f620b130b1d1a6535d656e3b90da0c515e6304b2.tar.xz
latinime-f620b130b1d1a6535d656e3b90da0c515e6304b2.zip
Merge "Add GeometryUtilsTest."
Diffstat (limited to 'native/jni/src')
-rw-r--r--native/jni/src/suggest/core/layout/geometry_utils.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/native/jni/src/suggest/core/layout/geometry_utils.h b/native/jni/src/suggest/core/layout/geometry_utils.h
index b667df68f..000fcd4a1 100644
--- a/native/jni/src/suggest/core/layout/geometry_utils.h
+++ b/native/jni/src/suggest/core/layout/geometry_utils.h
@@ -38,13 +38,15 @@ class GeometryUtils {
}
static AK_FORCE_INLINE float getAngleDiff(const float a1, const float a2) {
- const float deltaA = fabsf(a1 - a2);
- const float diff = ROUND_FLOAT_10000(deltaA);
- if (diff > M_PI_F) {
- const float normalizedDiff = 2.0f * M_PI_F - diff;
- return ROUND_FLOAT_10000(normalizedDiff);
+ static const float M_2PI_F = M_PI * 2.0f;
+ float delta = fabsf(a1 - a2);
+ if (delta > M_2PI_F) {
+ delta -= (M_2PI_F * static_cast<int>(delta / M_2PI_F));
}
- return diff;
+ if (delta > M_PI_F) {
+ delta = M_2PI_F - delta;
+ }
+ return ROUND_FLOAT_10000(delta);
}
static AK_FORCE_INLINE int getDistanceInt(const int x1, const int y1, const int x2,