diff options
author | 2014-09-03 00:23:09 +0000 | |
---|---|---|
committer | 2014-09-03 00:23:11 +0000 | |
commit | f620b130b1d1a6535d656e3b90da0c515e6304b2 (patch) | |
tree | 1f2632b1dbae5362db4bc804c31e5d5eea8b8d91 /native/jni/src | |
parent | 961cb1abf3902e32e328ede1766f02bbbb257ab0 (diff) | |
parent | 985b2c2e91485a0cb293bff35a80877b2be71eae (diff) | |
download | latinime-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.h | 14 |
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, |