diff options
author | 2011-04-20 17:15:27 +0900 | |
---|---|---|
committer | 2011-04-20 17:15:27 +0900 | |
commit | 9674f654a769e398f2650cb9724c1094d12005c5 (patch) | |
tree | d2f762c226104c2a64c56c640c3f2c89a6708974 /native | |
parent | 0aae85fb671b300130b1c842d8a9a4ec4a49a3d8 (diff) | |
download | latinime-9674f654a769e398f2650cb9724c1094d12005c5.tar.gz latinime-9674f654a769e398f2650cb9724c1094d12005c5.tar.xz latinime-9674f654a769e398f2650cb9724c1094d12005c5.zip |
Fix a bug that 2 length words were demoted.
Change-Id: I4a3558d0f1f1b0a9d6a36c3f75db3089b0566d7f
Diffstat (limited to 'native')
-rw-r--r-- | native/src/unigram_dictionary.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/native/src/unigram_dictionary.cpp b/native/src/unigram_dictionary.cpp index 3832d473a..b9f4b961d 100644 --- a/native/src/unigram_dictionary.cpp +++ b/native/src/unigram_dictionary.cpp @@ -574,7 +574,7 @@ inline int UnigramDictionary::calculateFinalFreq(const int inputIndex, const int * (10 * mInputLength - WORDS_WITH_MISSING_CHARACTER_DEMOTION_START_POS_10X) / (10 * mInputLength - WORDS_WITH_MISSING_CHARACTER_DEMOTION_START_POS_10X + 10); - if (DEBUG_DICT) { + if (DEBUG_DICT_FULL) { LOGI("Demotion rate for missing character is %d.", demotionRate); } multiplyRate(demotionRate, &finalFreq); @@ -603,7 +603,7 @@ inline int UnigramDictionary::calculateFinalFreq(const int inputIndex, const int if (sameLength && transposedPos < 0 && skipPos < 0 && excessivePos < 0) { finalFreq = capped255MultForFullMatchAccentsOrCapitalizationDifference(finalFreq); } - } else if (sameLength && transposedPos < 0 && skipPos < 0 && excessivePos < 0 && depth > 1) { + } else if (sameLength && transposedPos < 0 && skipPos < 0 && excessivePos < 0 && depth > 0) { // A word with proximity corrections if (DEBUG_DICT) { LOGI("Found one proximity correction."); @@ -611,6 +611,9 @@ inline int UnigramDictionary::calculateFinalFreq(const int inputIndex, const int finalFreq *= 2; multiplyRate(WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE, &finalFreq); } + if (DEBUG_DICT) { + LOGI("calc: %d, %d", depth, sameLength); + } if (sameLength) finalFreq *= FULL_WORD_MULTIPLIER; return finalFreq; } |