Loading native/src/correction.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -555,6 +555,8 @@ int Correction::RankingAlgorithm::calculateFinalFreq(const int inputIndex, const const int transposedCount = correction->mTransposedCount / 2; const int excessiveCount = correction->mExcessiveCount + correction->mTransposedCount % 2; const int proximityMatchedCount = correction->mProximityCount; const int equivalentCharStrongCount = correction->mEquivalentCharStrongCount; const int equivalentCharWeakCount = correction->mEquivalentCharWeakCount; const bool lastCharExceeded = correction->mLastCharExceeded; const bool useFullEditDistance = correction->mUseFullEditDistance; const int outputLength = outputIndex + 1; Loading Loading @@ -664,6 +666,20 @@ int Correction::RankingAlgorithm::calculateFinalFreq(const int inputIndex, const multiplyRate(WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE, &finalFreq); } for (int i = 0; i < equivalentCharStrongCount; ++i) { if (DEBUG_DICT_FULL) { LOGI("equivalent char strong"); } multiplyRate(WORDS_WITH_EQUIVALENT_CHAR_STRONG_PROMOTION_RATE, &finalFreq); } for (int i = 0; i < equivalentCharWeakCount; ++i) { if (DEBUG_DICT_FULL) { LOGI("equivalent char weak"); } multiplyRate(WORDS_WITH_EQUIVALENT_CHAR_WEAK_DEMOTION_RATE, &finalFreq); } const int errorCount = adjustedProximityMatchedCount > 0 ? adjustedProximityMatchedCount : (proximityMatchedCount + transposedCount); Loading native/src/defines.h +2 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,8 @@ static void dumpWord(const unsigned short* word, const int length) { #define WORDS_WITH_EXCESSIVE_CHARACTER_DEMOTION_RATE 75 #define WORDS_WITH_EXCESSIVE_CHARACTER_OUT_OF_PROXIMITY_DEMOTION_RATE 75 #define WORDS_WITH_TRANSPOSED_CHARACTERS_DEMOTION_RATE 60 #define WORDS_WITH_EQUIVALENT_CHAR_STRONG_PROMOTION_RATE 105 #define WORDS_WITH_EQUIVALENT_CHAR_WEAK_DEMOTION_RATE 95 #define FULL_MATCHED_WORDS_PROMOTION_RATE 120 #define WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE 90 #define WORDS_WITH_MATCH_SKIP_PROMOTION_RATE 105 Loading Loading
native/src/correction.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -555,6 +555,8 @@ int Correction::RankingAlgorithm::calculateFinalFreq(const int inputIndex, const const int transposedCount = correction->mTransposedCount / 2; const int excessiveCount = correction->mExcessiveCount + correction->mTransposedCount % 2; const int proximityMatchedCount = correction->mProximityCount; const int equivalentCharStrongCount = correction->mEquivalentCharStrongCount; const int equivalentCharWeakCount = correction->mEquivalentCharWeakCount; const bool lastCharExceeded = correction->mLastCharExceeded; const bool useFullEditDistance = correction->mUseFullEditDistance; const int outputLength = outputIndex + 1; Loading Loading @@ -664,6 +666,20 @@ int Correction::RankingAlgorithm::calculateFinalFreq(const int inputIndex, const multiplyRate(WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE, &finalFreq); } for (int i = 0; i < equivalentCharStrongCount; ++i) { if (DEBUG_DICT_FULL) { LOGI("equivalent char strong"); } multiplyRate(WORDS_WITH_EQUIVALENT_CHAR_STRONG_PROMOTION_RATE, &finalFreq); } for (int i = 0; i < equivalentCharWeakCount; ++i) { if (DEBUG_DICT_FULL) { LOGI("equivalent char weak"); } multiplyRate(WORDS_WITH_EQUIVALENT_CHAR_WEAK_DEMOTION_RATE, &finalFreq); } const int errorCount = adjustedProximityMatchedCount > 0 ? adjustedProximityMatchedCount : (proximityMatchedCount + transposedCount); Loading
native/src/defines.h +2 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,8 @@ static void dumpWord(const unsigned short* word, const int length) { #define WORDS_WITH_EXCESSIVE_CHARACTER_DEMOTION_RATE 75 #define WORDS_WITH_EXCESSIVE_CHARACTER_OUT_OF_PROXIMITY_DEMOTION_RATE 75 #define WORDS_WITH_TRANSPOSED_CHARACTERS_DEMOTION_RATE 60 #define WORDS_WITH_EQUIVALENT_CHAR_STRONG_PROMOTION_RATE 105 #define WORDS_WITH_EQUIVALENT_CHAR_WEAK_DEMOTION_RATE 95 #define FULL_MATCHED_WORDS_PROMOTION_RATE 120 #define WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE 90 #define WORDS_WITH_MATCH_SKIP_PROMOTION_RATE 105 Loading