aboutsummaryrefslogtreecommitdiffstats
path: root/native/src/proximity_info.cpp
diff options
context:
space:
mode:
authorYusuke Nojima <nojima@google.com>2011-10-04 01:06:46 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-10-04 01:06:46 -0700
commit7afd910242c5008857c28888cb806586fd2dbf5d (patch)
tree96e69da8144c0ab0e6c8cbf86f0e50caddf518ef /native/src/proximity_info.cpp
parentab72a97d7ce44230a0c824797d1675a5ca354a56 (diff)
parent16717159fffc7731669143a8e9ed866e7d88ecef (diff)
downloadlatinime-7afd910242c5008857c28888cb806586fd2dbf5d.tar.gz
latinime-7afd910242c5008857c28888cb806586fd2dbf5d.tar.xz
latinime-7afd910242c5008857c28888cb806586fd2dbf5d.zip
Merge "Move ProximityInfo::calculateSweetSpotType right after ProximityInfo::setInputParams"
Diffstat (limited to 'native/src/proximity_info.cpp')
-rw-r--r--native/src/proximity_info.cpp64
1 files changed, 32 insertions, 32 deletions
diff --git a/native/src/proximity_info.cpp b/native/src/proximity_info.cpp
index 547d5e8a3..15f012d8a 100644
--- a/native/src/proximity_info.cpp
+++ b/native/src/proximity_info.cpp
@@ -116,6 +116,38 @@ void ProximityInfo::setInputParams(const int* inputCodes, const int inputLength,
mPrimaryInputWord[inputLength] = 0;
}
+inline float square(const float x) { return x * x; }
+
+ProximityInfo::SweetSpotType ProximityInfo::calculateSweetSpotType(
+ int index, unsigned short baseLowerC) const {
+ if (KEY_COUNT == 0 || !mInputXCoordinates || !mInputYCoordinates
+ || baseLowerC > MAX_CHAR_CODE) {
+ return UNKNOWN;
+ }
+ const int keyIndex = mCodeToKeyIndex[baseLowerC];
+ if (keyIndex < 0) {
+ return UNKNOWN;
+ }
+ const float sweetSpotRadius = mSweetSpotRadii[keyIndex];
+ if (sweetSpotRadius <= 0.0) {
+ return UNKNOWN;
+ }
+ const float sweetSpotCenterX = mSweetSpotCenterXs[keyIndex];
+ const float sweetSpotCenterY = mSweetSpotCenterYs[keyIndex];
+ const float inputX = (float)mInputXCoordinates[index];
+ const float inputY = (float)mInputYCoordinates[index];
+ const float squaredDistance =
+ square(inputX - sweetSpotCenterX) + square(inputY - sweetSpotCenterY);
+ const float squaredSweetSpotRadius = square(sweetSpotRadius);
+ if (squaredDistance <= squaredSweetSpotRadius) {
+ return IN_SWEET_SPOT;
+ }
+ if (squaredDistance <= square(NEUTRAL_AREA_RADIUS_RATIO) * squaredSweetSpotRadius) {
+ return IN_NEUTRAL_AREA;
+ }
+ return OUT_OF_NEUTRAL_AREA;
+}
+
inline const int* ProximityInfo::getProximityCharsAt(const int index) const {
return mInputCodes + (index * MAX_PROXIMITY_CHARS_SIZE);
}
@@ -207,38 +239,6 @@ ProximityInfo::ProximityType ProximityInfo::getMatchedProximityId(
return UNRELATED_CHAR;
}
-inline float square(const float x) { return x * x; }
-
-ProximityInfo::SweetSpotType ProximityInfo::calculateSweetSpotType(
- int index, unsigned short baseLowerC) const {
- if (KEY_COUNT == 0 || !mInputXCoordinates || !mInputYCoordinates
- || baseLowerC > MAX_CHAR_CODE) {
- return UNKNOWN;
- }
- const int keyIndex = mCodeToKeyIndex[baseLowerC];
- if (keyIndex < 0) {
- return UNKNOWN;
- }
- const float sweetSpotRadius = mSweetSpotRadii[keyIndex];
- if (sweetSpotRadius <= 0.0) {
- return UNKNOWN;
- }
- const float sweetSpotCenterX = mSweetSpotCenterXs[keyIndex];
- const float sweetSpotCenterY = mSweetSpotCenterYs[keyIndex];
- const float inputX = (float)mInputXCoordinates[index];
- const float inputY = (float)mInputYCoordinates[index];
- const float squaredDistance =
- square(inputX - sweetSpotCenterX) + square(inputY - sweetSpotCenterY);
- const float squaredSweetSpotRadius = square(sweetSpotRadius);
- if (squaredDistance <= squaredSweetSpotRadius) {
- return IN_SWEET_SPOT;
- }
- if (squaredDistance <= square(NEUTRAL_AREA_RADIUS_RATIO) * squaredSweetSpotRadius) {
- return IN_NEUTRAL_AREA;
- }
- return OUT_OF_NEUTRAL_AREA;
-}
-
bool ProximityInfo::sameAsTyped(const unsigned short *word, int length) const {
if (length != mInputLength) {
return false;