Activate bigram predictions from the binary dictionary
Change-Id: If1cc50539d7677b854b1cd3bea3423c8c0865de5
This commit is contained in:
parent
05f09b6d58
commit
ad290d6505
2 changed files with 8 additions and 10 deletions
|
@ -139,22 +139,19 @@ public class BinaryDictionary extends Dictionary {
|
|||
Arrays.fill(mBigramScores, 0);
|
||||
|
||||
int codesSize = codes.size();
|
||||
if (codesSize <= 0) {
|
||||
// Do not return bigrams from BinaryDictionary when nothing was typed.
|
||||
// Only use user-history bigrams (or whatever other bigram dictionaries decide).
|
||||
return;
|
||||
}
|
||||
Arrays.fill(mInputCodes, -1);
|
||||
int[] alternatives = codes.getCodesAt(0);
|
||||
System.arraycopy(alternatives, 0, mInputCodes, 0,
|
||||
Math.min(alternatives.length, MAX_PROXIMITY_CHARS_SIZE));
|
||||
if (codesSize > 0) {
|
||||
int[] alternatives = codes.getCodesAt(0);
|
||||
System.arraycopy(alternatives, 0, mInputCodes, 0,
|
||||
Math.min(alternatives.length, MAX_PROXIMITY_CHARS_SIZE));
|
||||
}
|
||||
|
||||
int count = getBigramsNative(mNativeDict, chars, chars.length, mInputCodes, codesSize,
|
||||
mOutputChars_bigrams, mBigramScores, MAX_WORD_LENGTH, MAX_BIGRAMS,
|
||||
MAX_PROXIMITY_CHARS_SIZE);
|
||||
|
||||
for (int j = 0; j < count; ++j) {
|
||||
if (mBigramScores[j] < 1) break;
|
||||
if (codesSize > 0 && mBigramScores[j] < 1) break;
|
||||
final int start = j * MAX_WORD_LENGTH;
|
||||
int len = 0;
|
||||
while (len < MAX_WORD_LENGTH && mOutputChars_bigrams[start + len] != 0) {
|
||||
|
|
|
@ -134,7 +134,8 @@ int BigramDictionary::getBigrams(unsigned short *prevWord, int prevWordLength, i
|
|||
const int length = BinaryFormat::getWordAtAddress(root, bigramPos, MAX_WORD_LENGTH,
|
||||
bigramBuffer);
|
||||
|
||||
if (checkFirstCharacter(bigramBuffer)) {
|
||||
// codesSize == 0 means we are trying to find bigram predictions.
|
||||
if (codesSize < 1 || checkFirstCharacter(bigramBuffer)) {
|
||||
const int frequency = UnigramDictionary::MASK_ATTRIBUTE_FREQUENCY & bigramFlags;
|
||||
addWordBigram(bigramBuffer, length, frequency);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue