diff options
author | 2013-01-24 15:20:50 +0900 | |
---|---|---|
committer | 2013-01-24 15:32:47 +0900 | |
commit | 9d18c6dd38c4d5632a5d5a5c26f567b9f6f7f969 (patch) | |
tree | e45454237d23738383a516f5efe771c842d67798 /native/jni/src/proximity_info_state_utils.cpp | |
parent | e5aad5646309e80e1cd71533fb47a6be43f3aa2f (diff) | |
download | latinime-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.cpp | 28 |
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, |