diff options
author | 2013-03-05 06:22:53 +0000 | |
---|---|---|
committer | 2013-03-05 06:22:53 +0000 | |
commit | ff745e9a8adef082859dfbfa3ceeb16a0842980b (patch) | |
tree | ca2a3580453c974b611d27569c32e0d24a0fb6c2 | |
parent | 75e6fb68e91b440707b399b22fbcfcd67760a949 (diff) | |
parent | 830ba67498c6da53b38212dd9ac5ba318a00de11 (diff) | |
download | latinime-ff745e9a8adef082859dfbfa3ceeb16a0842980b.tar.gz latinime-ff745e9a8adef082859dfbfa3ceeb16a0842980b.tar.xz latinime-ff745e9a8adef082859dfbfa3ceeb16a0842980b.zip |
am 830ba674: refactor MAX_POINT_TO_KEY_LENGTH
* commit '830ba67498c6da53b38212dd9ac5ba318a00de11':
refactor MAX_POINT_TO_KEY_LENGTH
-rw-r--r-- | native/jni/src/correction.h | 2 | ||||
-rw-r--r-- | native/jni/src/defines.h | 5 | ||||
-rw-r--r-- | native/jni/src/proximity_info.cpp | 2 | ||||
-rw-r--r-- | native/jni/src/proximity_info_state.cpp | 4 | ||||
-rw-r--r-- | native/jni/src/proximity_info_state_utils.cpp | 6 | ||||
-rw-r--r-- | native/jni/src/proximity_info_utils.h | 2 |
6 files changed, 11 insertions, 10 deletions
diff --git a/native/jni/src/correction.h b/native/jni/src/correction.h index 34f794d84..f0d62102f 100644 --- a/native/jni/src/correction.h +++ b/native/jni/src/correction.h @@ -119,7 +119,7 @@ class Correction { // proximity info state void initInputParams(const ProximityInfo *proximityInfo, const int *inputCodes, const int inputSize, const int *xCoordinates, const int *yCoordinates) { - mProximityInfoState.initInputParams(0, MAX_POINT_TO_KEY_LENGTH, + mProximityInfoState.initInputParams(0, static_cast<float>(MAX_VALUE_FOR_WEIGHTING), proximityInfo, inputCodes, inputSize, xCoordinates, yCoordinates, 0, 0, false); } diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h index 55468760b..11dc3d20e 100644 --- a/native/jni/src/defines.h +++ b/native/jni/src/defines.h @@ -341,8 +341,9 @@ static inline void prof_out(void) { #define MAX_DEPTH_MULTIPLIER 3 #define FIRST_WORD_INDEX 0 -// Max Distance between point to key -#define MAX_POINT_TO_KEY_LENGTH 10000000 +// Max value for length, distance and probability which are used in weighting +// TODO: Remove +#define MAX_VALUE_FOR_WEIGHTING 10000000 // The max number of the keys in one keyboard layout #define MAX_KEY_COUNT_IN_A_KEYBOARD 64 diff --git a/native/jni/src/proximity_info.cpp b/native/jni/src/proximity_info.cpp index 81eb0b37d..74b5e0131 100644 --- a/native/jni/src/proximity_info.cpp +++ b/native/jni/src/proximity_info.cpp @@ -204,6 +204,6 @@ int ProximityInfo::getKeyKeyDistanceG(const int keyId0, const int keyId1) const if (keyId0 >= 0 && keyId1 >= 0) { return mKeyKeyDistancesG[keyId0][keyId1]; } - return MAX_POINT_TO_KEY_LENGTH; + return MAX_VALUE_FOR_WEIGHTING; } } // namespace latinime diff --git a/native/jni/src/proximity_info_state.cpp b/native/jni/src/proximity_info_state.cpp index 3ecaade2d..00e7ffc6c 100644 --- a/native/jni/src/proximity_info_state.cpp +++ b/native/jni/src/proximity_info_state.cpp @@ -170,7 +170,7 @@ float ProximityInfoState::getPointToKeyLength( return 0.0f; } // If the char is not a key on the keyboard then return the max length. - return MAX_POINT_TO_KEY_LENGTH; + return static_cast<float>(MAX_VALUE_FOR_WEIGHTING); } float ProximityInfoState::getPointToKeyLength_G(const int inputIndex, const int codePoint) const { @@ -314,6 +314,6 @@ float ProximityInfoState::getProbability(const int index, const int keyIndex) co if (it != mCharProbabilities[index].end()) { return it->second; } - return static_cast<float>(MAX_POINT_TO_KEY_LENGTH); + return static_cast<float>(MAX_VALUE_FOR_WEIGHTING); } } // namespace latinime diff --git a/native/jni/src/proximity_info_state_utils.cpp b/native/jni/src/proximity_info_state_utils.cpp index 2bf327fcc..2ca39f9e3 100644 --- a/native/jni/src/proximity_info_state_utils.cpp +++ b/native/jni/src/proximity_info_state_utils.cpp @@ -645,7 +645,7 @@ namespace latinime { return min((*SampledDistanceCache_G)[index] * scale, maxPointToKeyLength); } // If the char is not a key on the keyboard then return the max length. - return static_cast<float>(MAX_POINT_TO_KEY_LENGTH); + return static_cast<float>(MAX_VALUE_FOR_WEIGHTING); } /* static */ float ProximityInfoStateUtils::getPointToKeyByIdLength(const float maxPointToKeyLength, @@ -678,7 +678,7 @@ namespace latinime { const float currentAngle = getPointAngle(sampledInputXs, sampledInputYs, i); const float speedRate = (*sampledSpeedRates)[i]; - float nearestKeyDistance = static_cast<float>(MAX_POINT_TO_KEY_LENGTH); + float nearestKeyDistance = static_cast<float>(MAX_VALUE_FOR_WEIGHTING); for (int j = 0; j < keyCount; ++j) { if ((*SampledNearKeySets)[i].test(j)) { const float distance = getPointToKeyByIdLength( @@ -1016,7 +1016,7 @@ namespace latinime { float sumLogProbability = 0.0f; // TODO: Current implementation is greedy algorithm. DP would be efficient for many cases. for (int i = 0; i < sampledInputSize && index < MAX_WORD_LENGTH - 1; ++i) { - float minLogProbability = static_cast<float>(MAX_POINT_TO_KEY_LENGTH); + float minLogProbability = static_cast<float>(MAX_VALUE_FOR_WEIGHTING); int character = NOT_AN_INDEX; for (hash_map_compat<int, float>::const_iterator it = (*charProbabilities)[i].begin(); it != (*charProbabilities)[i].end(); ++it) { diff --git a/native/jni/src/proximity_info_utils.h b/native/jni/src/proximity_info_utils.h index 51cafba2c..71c97e325 100644 --- a/native/jni/src/proximity_info_utils.h +++ b/native/jni/src/proximity_info_utils.h @@ -226,7 +226,7 @@ class ProximityInfoUtils { const int *const keyYCoordinates, const int *const keyWidths, const int *keyHeights, const int keyId, const int x, const int y) { // NOT_A_ID is -1, but return whenever < 0 just in case - if (keyId < 0) return MAX_POINT_TO_KEY_LENGTH; + if (keyId < 0) return MAX_VALUE_FOR_WEIGHTING; const int left = keyXCoordinates[keyId]; const int top = keyYCoordinates[keyId]; const int right = left + keyWidths[keyId]; |