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

Commit 7c08ede1 authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android (Google) Code Review
Browse files

Merge "Use LanguageModelDictContent in iterateNgramEntries()."

parents 82f7d3a9 1c14effa
Loading
Loading
Loading
Loading
+15 −5
Original line number Original line Diff line number Diff line
@@ -158,11 +158,21 @@ void Ver4PatriciaTriePolicy::iterateNgramEntries(const int *const prevWordsPtNod
    if (!prevWordsPtNodePos) {
    if (!prevWordsPtNodePos) {
        return;
        return;
    }
    }
    const int bigramsPosition = getBigramsPositionOfPtNode(prevWordsPtNodePos[0]);
    // TODO: Support n-gram.
    BinaryDictionaryBigramsIterator bigramsIt(&mBigramPolicy, bigramsPosition);
    const PtNodeParams ptNodeParams =
    while (bigramsIt.hasNext()) {
            mNodeReader.fetchPtNodeParamsInBufferFromPtNodePos(prevWordsPtNodePos[0]);
        bigramsIt.next();
    const int prevWordId = ptNodeParams.getTerminalId();
        listener->onVisitEntry(bigramsIt.getProbability(), bigramsIt.getBigramPos());
    const WordIdArrayView prevWordIds = WordIdArrayView::fromObject(&prevWordId);
    const auto languageModelDictContent = mBuffers->getLanguageModelDictContent();
    for (const auto entry : languageModelDictContent->getProbabilityEntries(prevWordIds)) {
        const ProbabilityEntry &probabilityEntry = entry.getProbabilityEntry();
        const int probability = probabilityEntry.hasHistoricalInfo() ?
                ForgettingCurveUtils::decodeProbability(
                        probabilityEntry.getHistoricalInfo(), mHeaderPolicy) :
                probabilityEntry.getProbability();
        const int ptNodePos = mBuffers->getTerminalPositionLookupTable()->getTerminalPtNodePosition(
                entry.getWordId());
        listener->onVisitEntry(probability, ptNodePos);
    }
    }
}
}