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

Commit 76613ac5 authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android Git Automerger
Browse files

am 7c08ede1: Merge "Use LanguageModelDictContent in iterateNgramEntries()."

* commit '7c08ede1':
  Use LanguageModelDictContent in iterateNgramEntries().
parents c996cd49 7c08ede1
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -158,11 +158,21 @@ void Ver4PatriciaTriePolicy::iterateNgramEntries(const int *const prevWordsPtNod
    if (!prevWordsPtNodePos) {
        return;
    }
    const int bigramsPosition = getBigramsPositionOfPtNode(prevWordsPtNodePos[0]);
    BinaryDictionaryBigramsIterator bigramsIt(&mBigramPolicy, bigramsPosition);
    while (bigramsIt.hasNext()) {
        bigramsIt.next();
        listener->onVisitEntry(bigramsIt.getProbability(), bigramsIt.getBigramPos());
    // TODO: Support n-gram.
    const PtNodeParams ptNodeParams =
            mNodeReader.fetchPtNodeParamsInBufferFromPtNodePos(prevWordsPtNodePos[0]);
    const int prevWordId = ptNodeParams.getTerminalId();
    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);
    }
}