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

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

Merge "GC step 2. Finding garbage bigram entries."

parents 262b8672 77ef75cb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -147,7 +147,7 @@ int BigramDictionary::getBigramListPositionForWord(const int *prevWord, const in
    int pos = mDictionaryStructurePolicy->getTerminalNodePositionOfWord(prevWord, prevWordLength,
            forceLowerCaseSearch);
    if (NOT_A_DICT_POS == pos) return NOT_A_DICT_POS;
    return mDictionaryStructurePolicy->getBigramsPositionOfNode(pos);
    return mDictionaryStructurePolicy->getBigramsPositionOfPtNode(pos);
}

int BigramDictionary::getBigramProbability(const int *word0, int length0, const int *word1,
+2 −2
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ class MultiBigramMap {

        void init(const DictionaryStructureWithBufferPolicy *const structurePolicy,
                const int nodePos) {
            const int bigramsListPos = structurePolicy->getBigramsPositionOfNode(nodePos);
            const int bigramsListPos = structurePolicy->getBigramsPositionOfPtNode(nodePos);
            BinaryDictionaryBigramsIterator bigramsIt(structurePolicy->getBigramsStructurePolicy(),
                    bigramsListPos);
            while (bigramsIt.hasNext()) {
@@ -112,7 +112,7 @@ class MultiBigramMap {
            const DictionaryStructureWithBufferPolicy *const structurePolicy, const int nodePos,
            const int nextWordPosition, const int unigramProbability) {
        int bigramProbability = NOT_A_PROBABILITY;
        const int bigramsListPos = structurePolicy->getBigramsPositionOfNode(nodePos);
        const int bigramsListPos = structurePolicy->getBigramsPositionOfPtNode(nodePos);
        BinaryDictionaryBigramsIterator bigramsIt(structurePolicy->getBigramsStructurePolicy(),
                bigramsListPos);
        while (bigramsIt.hasNext()) {
+2 −2
Original line number Diff line number Diff line
@@ -52,9 +52,9 @@ class DictionaryStructureWithBufferPolicy {

    virtual int getUnigramProbabilityOfPtNode(const int nodePos) const = 0;

    virtual int getShortcutPositionOfNode(const int nodePos) const = 0;
    virtual int getShortcutPositionOfPtNode(const int nodePos) const = 0;

    virtual int getBigramsPositionOfNode(const int nodePos) const = 0;
    virtual int getBigramsPositionOfPtNode(const int nodePos) const = 0;

    virtual const DictionaryHeaderStructurePolicy *getHeaderStructurePolicy() const = 0;

+1 −1
Original line number Diff line number Diff line
@@ -223,7 +223,7 @@ int Suggest::outputSuggestions(DicTraverseSession *traverseSession, int *frequen
            BinaryDictionaryShortcutIterator shortcutIt(
                    traverseSession->getDictionaryStructurePolicy()->getShortcutsStructurePolicy(),
                    traverseSession->getDictionaryStructurePolicy()
                            ->getShortcutPositionOfNode(terminalDicNode->getPos()));
                            ->getShortcutPositionOfPtNode(terminalDicNode->getPos()));
            // Shortcut is not supported for multiple words suggestions.
            // TODO: Check shortcuts during traversal for multiple words suggestions.
            const bool sameAsTyped = TRAVERSAL->sameAsTyped(traverseSession, terminalDicNode);
+3 −4
Original line number Diff line number Diff line
@@ -33,10 +33,9 @@ class BigramListPolicy : public DictionaryBigramsStructurePolicy {

    void getNextBigram(int *const outBigramPos, int *const outProbability, bool *const outHasNext,
            int *const pos) const {
        const BigramListReadWriteUtils::BigramFlags flags =
                BigramListReadWriteUtils::getFlagsAndForwardPointer(mBigramsBuf, pos);
        *outBigramPos = BigramListReadWriteUtils::getBigramAddressAndForwardPointer(
                        mBigramsBuf, flags, pos);
        BigramListReadWriteUtils::BigramFlags flags;
        BigramListReadWriteUtils::getBigramEntryPropertiesAndAdvancePosition(mBigramsBuf, &flags,
                outBigramPos, pos);
        *outProbability = BigramListReadWriteUtils::getProbabilityFromFlags(flags);
        *outHasNext = BigramListReadWriteUtils::hasNext(flags);
    }
Loading