aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src/proximity_info_state_utils.cpp
diff options
context:
space:
mode:
authorSatoshi Kataoka <satok@google.com>2013-01-24 15:20:50 +0900
committerSatoshi Kataoka <satok@google.com>2013-01-24 15:32:47 +0900
commit9d18c6dd38c4d5632a5d5a5c26f567b9f6f7f969 (patch)
treee45454237d23738383a516f5efe771c842d67798 /native/jni/src/proximity_info_state_utils.cpp
parente5aad5646309e80e1cd71533fb47a6be43f3aa2f (diff)
downloadlatinime-9d18c6dd38c4d5632a5d5a5c26f567b9f6f7f969.tar.gz
latinime-9d18c6dd38c4d5632a5d5a5c26f567b9f6f7f969.tar.xz
latinime-9d18c6dd38c4d5632a5d5a5c26f567b9f6f7f969.zip
Refactor proximity info
Change-Id: Ie9ea10fe6850721dd7fe64ffc05edc68f2217d2e
Diffstat (limited to 'native/jni/src/proximity_info_state_utils.cpp')
-rw-r--r--native/jni/src/proximity_info_state_utils.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/native/jni/src/proximity_info_state_utils.cpp b/native/jni/src/proximity_info_state_utils.cpp
index 1289b889b..123b9485b 100644
--- a/native/jni/src/proximity_info_state_utils.cpp
+++ b/native/jni/src/proximity_info_state_utils.cpp
@@ -983,6 +983,34 @@ namespace latinime {
return true;
}
+/* static */ bool ProximityInfoStateUtils::checkAndReturnIsContinuationPossible(const int inputSize,
+ const int *const xCoordinates, const int *const yCoordinates, const int *const times,
+ const int sampledInputSize, const std::vector<int> *const sampledInputXs,
+ const std::vector<int> *const sampledInputYs,
+ const std::vector<int> *const sampledTimes,
+ const std::vector<int> *const sampledInputIndices) {
+ if (inputSize < sampledInputSize) {
+ return false;
+ }
+ for (int i = 0; i < sampledInputSize; ++i) {
+ const int index = (*sampledInputIndices)[i];
+ if (index >= inputSize) {
+ return false;
+ }
+ if (xCoordinates[index] != (*sampledInputXs)[i]
+ || yCoordinates[index] != (*sampledInputYs)[i]) {
+ return false;
+ }
+ if (!times) {
+ continue;
+ }
+ if (times[index] != (*sampledTimes)[i]) {
+ return false;
+ }
+ }
+ return true;
+}
+
/* static */ void ProximityInfoStateUtils::dump(const bool isGeometric, const int inputSize,
const int *const inputXCoordinates, const int *const inputYCoordinates,
const int sampledInputSize, const std::vector<int> *const sampledInputXs,