diff options
author | 2013-01-21 22:46:09 -0800 | |
---|---|---|
committer | 2013-01-21 22:46:09 -0800 | |
commit | 41fcc80e14aac0e284d245e63e334addc3786f22 (patch) | |
tree | 26266d5bc1ad6c47814307310968d466dd8c6fb8 /native/jni/src/proximity_info_state_utils.h | |
parent | 8a3e8dca21ef251fb4a493c9323e9464cb2b1edb (diff) | |
parent | d4828d5053ac30476b884c177235be0cac982c92 (diff) | |
download | latinime-41fcc80e14aac0e284d245e63e334addc3786f22.tar.gz latinime-41fcc80e14aac0e284d245e63e334addc3786f22.tar.xz latinime-41fcc80e14aac0e284d245e63e334addc3786f22.zip |
am d4828d50: Refactor proximity info state
* commit 'd4828d5053ac30476b884c177235be0cac982c92':
Refactor proximity info state
Diffstat (limited to 'native/jni/src/proximity_info_state_utils.h')
-rw-r--r-- | native/jni/src/proximity_info_state_utils.h | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/native/jni/src/proximity_info_state_utils.h b/native/jni/src/proximity_info_state_utils.h index 3408aef89..8241eaf89 100644 --- a/native/jni/src/proximity_info_state_utils.h +++ b/native/jni/src/proximity_info_state_utils.h @@ -17,9 +17,11 @@ #ifndef LATINIME_PROXIMITY_INFO_STATE_UTILS_H #define LATINIME_PROXIMITY_INFO_STATE_UTILS_H +#include <bitset> #include <vector> #include "defines.h" +#include "hash_map_compat.h" namespace latinime { class ProximityInfo; @@ -27,6 +29,9 @@ class ProximityInfoParams; class ProximityInfoStateUtils { public: + typedef hash_map_compat<int, float> NearKeysDistanceMap; + typedef std::bitset<MAX_KEY_COUNT_IN_A_KEYBOARD> NearKeycodesSet; + static int updateTouchPoints(const int mostCommonKeyWidth, const ProximityInfo *const proximityInfo, const int maxPointToKeyLength, const int *const inputProximities, @@ -57,12 +62,26 @@ class ProximityInfoStateUtils { std::vector<int> *beelineSpeedPercentiles); static float getDirection(const std::vector<int> *const sampledInputXs, const std::vector<int> *const sampledInputYs, const int index0, const int index1); + static void updateAlignPointProbabilities( + const float maxPointToKeyLength, const int mostCommonKeyWidth, const int keyCount, + const int start, const int sampledInputSize, + const std::vector<int> *const sampledInputXs, + const std::vector<int> *const sampledInputYs, + const std::vector<float> *const sampledSpeedRates, + const std::vector<int> *const sampledLengthCache, + const std::vector<float> *const distanceCache_G, + std::vector<NearKeycodesSet> *nearKeysVector, + std::vector<hash_map_compat<int, float> > *charProbabilities); + static float getPointToKeyByIdLength(const float maxPointToKeyLength, + const std::vector<float> *const distanceCache_G, const int keyCount, + const int inputIndex, const int keyId, const float scale); + static float getPointToKeyByIdLength(const float maxPointToKeyLength, + const std::vector<float> *const distanceCache_G, const int keyCount, + const int inputIndex, const int keyId); private: DISALLOW_IMPLICIT_CONSTRUCTORS(ProximityInfoStateUtils); - typedef hash_map_compat<int, float> NearKeysDistanceMap; - static float updateNearKeysDistances(const ProximityInfo *const proximityInfo, const float maxPointToKeyLength, const int x, const int y, NearKeysDistanceMap *const currentNearKeysDistances); @@ -91,6 +110,17 @@ class ProximityInfoStateUtils { const std::vector<int> *const sampledInputXs, const std::vector<int> *const sampledInputYs, const std::vector<int> *const inputIndice); + static float getPointAngle( + const std::vector<int> *const sampledInputXs, + const std::vector<int> *const sampledInputYs, const int index); + static float getPointsAngle( + const std::vector<int> *const sampledInputXs, + const std::vector<int> *const sampledInputYs, + const int index0, const int index1, const int index2); + static bool suppressCharProbabilities(const int mostCommonKeyWidth, + const int sampledInputSize, const std::vector<int> *const lengthCache, + const int index0, const int index1, + std::vector<hash_map_compat<int, float> > *charProbabilities); }; } // namespace latinime #endif // LATINIME_PROXIMITY_INFO_STATE_UTILS_H |