Loading native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.cpp +22 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,13 @@ namespace latinime { void DynamicPatriciaTrieNodeReader::fetchNodeInfoFromBufferAndProcessMovedNode(const int nodePos, const int maxCodePointCount, int *const outCodePoints) { if (nodePos < 0 || nodePos >= mBuffer->getTailPosition()) { AKLOGE("Fetching PtNode info form invalid dictionary position: %d, dictionary size: %d", nodePos, mBuffer->getTailPosition()); ASSERT(false); invalidatePtNodeInfo(); return; } const bool usesAdditionalBuffer = mBuffer->isInAdditionalBuffer(nodePos); const uint8_t *const dictBuf = mBuffer->getBuffer(usesAdditionalBuffer); int pos = nodePos; Loading Loading @@ -94,4 +101,19 @@ void DynamicPatriciaTrieNodeReader::fetchNodeInfoFromBufferAndProcessMovedNode(c } } void DynamicPatriciaTrieNodeReader::invalidatePtNodeInfo() { mHeadPos = NOT_A_VALID_WORD_POS; mFlags = 0; mParentPos = NOT_A_DICT_POS; mCodePointCount = 0; mProbabilityFieldPos = NOT_A_DICT_POS; mProbability = NOT_A_PROBABILITY; mChildrenPosFieldPos = NOT_A_DICT_POS; mChildrenPos = NOT_A_DICT_POS; mBigramLinkedNodePos = NOT_A_DICT_POS; mShortcutPos = NOT_A_DICT_POS; mBigramPos = NOT_A_DICT_POS; mSiblingPos = NOT_A_VALID_WORD_POS; } } native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.h +2 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,8 @@ class DynamicPatriciaTrieNodeReader { void fetchNodeInfoFromBufferAndProcessMovedNode(const int nodePos, const int maxCodePointCount, int *const outCodePoints); void invalidatePtNodeInfo(); }; } // namespace latinime #endif /* LATINIME_DYNAMIC_PATRICIA_TRIE_NODE_READER_H */ Loading
native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.cpp +22 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,13 @@ namespace latinime { void DynamicPatriciaTrieNodeReader::fetchNodeInfoFromBufferAndProcessMovedNode(const int nodePos, const int maxCodePointCount, int *const outCodePoints) { if (nodePos < 0 || nodePos >= mBuffer->getTailPosition()) { AKLOGE("Fetching PtNode info form invalid dictionary position: %d, dictionary size: %d", nodePos, mBuffer->getTailPosition()); ASSERT(false); invalidatePtNodeInfo(); return; } const bool usesAdditionalBuffer = mBuffer->isInAdditionalBuffer(nodePos); const uint8_t *const dictBuf = mBuffer->getBuffer(usesAdditionalBuffer); int pos = nodePos; Loading Loading @@ -94,4 +101,19 @@ void DynamicPatriciaTrieNodeReader::fetchNodeInfoFromBufferAndProcessMovedNode(c } } void DynamicPatriciaTrieNodeReader::invalidatePtNodeInfo() { mHeadPos = NOT_A_VALID_WORD_POS; mFlags = 0; mParentPos = NOT_A_DICT_POS; mCodePointCount = 0; mProbabilityFieldPos = NOT_A_DICT_POS; mProbability = NOT_A_PROBABILITY; mChildrenPosFieldPos = NOT_A_DICT_POS; mChildrenPos = NOT_A_DICT_POS; mBigramLinkedNodePos = NOT_A_DICT_POS; mShortcutPos = NOT_A_DICT_POS; mBigramPos = NOT_A_DICT_POS; mSiblingPos = NOT_A_VALID_WORD_POS; } }
native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.h +2 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,8 @@ class DynamicPatriciaTrieNodeReader { void fetchNodeInfoFromBufferAndProcessMovedNode(const int nodePos, const int maxCodePointCount, int *const outCodePoints); void invalidatePtNodeInfo(); }; } // namespace latinime #endif /* LATINIME_DYNAMIC_PATRICIA_TRIE_NODE_READER_H */