diff options
author | 2014-09-16 15:46:28 +0900 | |
---|---|---|
committer | 2014-09-16 15:46:28 +0900 | |
commit | 5520e84e16f3886548dc11cf888977a6dbbef5f1 (patch) | |
tree | b39fe3487d7a74470c2cdd1b3407037024f6eaec | |
parent | 0c0b8207cdabc1f5c1a81441c1ab0cb715e458ea (diff) | |
download | latinime-5520e84e16f3886548dc11cf888977a6dbbef5f1.tar.gz latinime-5520e84e16f3886548dc11cf888977a6dbbef5f1.tar.xz latinime-5520e84e16f3886548dc11cf888977a6dbbef5f1.zip |
Support removing n-gram entry in structure policy.
Bug: 14425059
Change-Id: Ifd2ac97a15dcbb936e2f068866a9d1ee68759ba2
2 files changed, 2 insertions, 12 deletions
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp index bc6e0ddab..75ec16912 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp @@ -232,11 +232,9 @@ bool Ver4PatriciaTrieNodeWriter::addNgramEntry(const WordIdArrayView prevWordIds bool Ver4PatriciaTrieNodeWriter::removeNgramEntry(const WordIdArrayView prevWordIds, const int wordId) { - // TODO: Support n-gram. LanguageModelDictContent *const languageModelDictContent = mBuffers->getMutableLanguageModelDictContent(); - return languageModelDictContent->removeNgramProbabilityEntry(prevWordIds.limit(1 /* maxSize */), - wordId); + return languageModelDictContent->removeNgramProbabilityEntry(prevWordIds, wordId); } // TODO: Remove when we stop supporting v402 format. diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp index a03e2a5eb..b808c904d 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp @@ -375,15 +375,7 @@ bool Ver4PatriciaTriePolicy::removeNgramEntry(const PrevWordsInfo *const prevWor if (wordId == NOT_A_WORD_ID) { return false; } - std::array<int, MAX_PREV_WORD_COUNT_FOR_N_GRAM> prevWordsPtNodePos; - for (size_t i = 0; i < prevWordsPtNodePos.size(); ++i) { - prevWordsPtNodePos[i] = mBuffers->getTerminalPositionLookupTable() - ->getTerminalPtNodePosition(prevWordIds[i]); - } - const int wordPtNodePos = mBuffers->getTerminalPositionLookupTable() - ->getTerminalPtNodePosition(wordId); - if (mUpdatingHelper.removeNgramEntry(WordIdArrayView::fromArray(prevWordsPtNodePos), - wordPtNodePos)) { + if (mNodeWriter.removeNgramEntry(prevWordIds, wordId)) { mBigramCount--; return true; } else { |