aboutsummaryrefslogtreecommitdiffstats
path: root/native
diff options
context:
space:
mode:
Diffstat (limited to 'native')
-rw-r--r--native/jni/src/char_utils.cpp6
-rw-r--r--native/jni/src/correction.h2
-rw-r--r--native/jni/src/defines.h5
-rw-r--r--native/jni/src/proximity_info.cpp2
-rw-r--r--native/jni/src/proximity_info_state.cpp4
-rw-r--r--native/jni/src/proximity_info_state_utils.cpp6
-rw-r--r--native/jni/src/proximity_info_utils.h2
7 files changed, 15 insertions, 12 deletions
diff --git a/native/jni/src/char_utils.cpp b/native/jni/src/char_utils.cpp
index f1148f4d4..8d917ea74 100644
--- a/native/jni/src/char_utils.cpp
+++ b/native/jni/src/char_utils.cpp
@@ -1070,12 +1070,14 @@ const unsigned short BASE_CHARS[BASE_CHARS_SIZE] = {
/* U+0418 */ 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
// U+0419: Manually changed from 0418 to 0419
/* U+0420 */ 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
- /* U+0428 */ 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
+ /* U+0428 */ 0x0428, 0x0429, 0x042C, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
+ // U+042A: Manually changed from 042A to 042C
/* U+0430 */ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
/* U+0438 */ 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
// U+0439: Manually changed from 0438 to 0439
/* U+0440 */ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
- /* U+0448 */ 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,
+ /* U+0448 */ 0x0448, 0x0449, 0x044C, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,
+ // U+044A: Manually changed from 044A to 044C
/* U+0450 */ 0x0435, 0x0435, 0x0452, 0x0433, 0x0454, 0x0455, 0x0456, 0x0456,
/* U+0458 */ 0x0458, 0x0459, 0x045A, 0x045B, 0x043A, 0x0438, 0x0443, 0x045F,
/* U+0460 */ 0x0460, 0x0461, 0x0462, 0x0463, 0x0464, 0x0465, 0x0466, 0x0467,
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];