Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9674f654 authored by satok's avatar satok
Browse files

Fix a bug that 2 length words were demoted.

Change-Id: I4a3558d0f1f1b0a9d6a36c3f75db3089b0566d7f
parent 0aae85fb
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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;
}