From 9674f654a769e398f2650cb9724c1094d12005c5 Mon Sep 17 00:00:00 2001 From: satok Date: Wed, 20 Apr 2011 17:15:27 +0900 Subject: [PATCH] Fix a bug that 2 length words were demoted. Change-Id: I4a3558d0f1f1b0a9d6a36c3f75db3089b0566d7f --- native/src/unigram_dictionary.cpp | 7 +++++-- 1 file 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; }