From 96d47fe7457ff1dbea4696a5e0edec2801610d47 Mon Sep 17 00:00:00 2001 From: Keisuke Kuroyanagi Date: Tue, 29 Jul 2014 11:35:57 +0900 Subject: [PATCH] Change getUnigramProbabilityOfPtNode to getProbabilityOfPtNode() Bug: 14425059 Change-Id: I92403d750d2979408b41554dcd79b0ed31b41161 --- native/jni/src/suggest/core/dictionary/dictionary.cpp | 6 +++--- .../core/policy/dictionary_structure_with_buffer_policy.h | 3 ++- .../structure/backward/v402/ver4_patricia_trie_policy.cpp | 3 ++- .../structure/backward/v402/ver4_patricia_trie_policy.h | 3 ++- .../dictionary/structure/v2/patricia_trie_policy.cpp | 7 ++++++- .../dictionary/structure/v2/patricia_trie_policy.h | 2 +- .../dictionary/structure/v4/ver4_patricia_trie_policy.cpp | 7 ++++++- .../dictionary/structure/v4/ver4_patricia_trie_policy.h | 2 +- 8 files changed, 23 insertions(+), 10 deletions(-) diff --git a/native/jni/src/suggest/core/dictionary/dictionary.cpp b/native/jni/src/suggest/core/dictionary/dictionary.cpp index fb25f757c..4605409cc 100644 --- a/native/jni/src/suggest/core/dictionary/dictionary.cpp +++ b/native/jni/src/suggest/core/dictionary/dictionary.cpp @@ -94,7 +94,7 @@ int Dictionary::getProbability(const int *word, int length) const { if (NOT_A_DICT_POS == pos) { return NOT_A_PROBABILITY; } - return getDictionaryStructurePolicy()->getUnigramProbabilityOfPtNode(pos); + return getDictionaryStructurePolicy()->getProbabilityOfPtNode(nullptr /* prevWordsInfo */, pos); } int Dictionary::getMaxProbabilityOfExactMatches(const int *word, int length) const { @@ -116,8 +116,8 @@ int Dictionary::getNgramProbability(const PrevWordsInfo *const prevWordsInfo, co if (bigramsIt.getBigramPos() == nextWordPos && bigramsIt.getProbability() != NOT_A_PROBABILITY) { return mDictionaryStructureWithBufferPolicy->getProbability( - mDictionaryStructureWithBufferPolicy->getUnigramProbabilityOfPtNode( - nextWordPos), bigramsIt.getProbability()); + mDictionaryStructureWithBufferPolicy->getProbabilityOfPtNode( + nullptr /* prevWordsInfo */, nextWordPos), bigramsIt.getProbability()); } } return NOT_A_PROBABILITY; diff --git a/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h b/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h index a48d64473..7ad20e782 100644 --- a/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h +++ b/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h @@ -58,7 +58,8 @@ class DictionaryStructureWithBufferPolicy { virtual int getProbability(const int unigramProbability, const int bigramProbability) const = 0; - virtual int getUnigramProbabilityOfPtNode(const int nodePos) const = 0; + virtual int getProbabilityOfPtNode(const PrevWordsInfo *const prevWordsInfo, + const int nodePos) const = 0; virtual int getShortcutPositionOfPtNode(const int nodePos) const = 0; diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp index f478d9b91..881994552 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp @@ -131,7 +131,8 @@ int Ver4PatriciaTriePolicy::getProbability(const int unigramProbability, } } -int Ver4PatriciaTriePolicy::getUnigramProbabilityOfPtNode(const int ptNodePos) const { +int Ver4PatriciaTriePolicy::getProbabilityOfPtNode(const PrevWordsInfo *const prevWordsInfo, + const int ptNodePos) const { if (ptNodePos == NOT_A_DICT_POS) { return NOT_A_PROBABILITY; } diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h index 6d97c7cc8..c80a73af7 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h +++ b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h @@ -90,7 +90,8 @@ class Ver4PatriciaTriePolicy : public DictionaryStructureWithBufferPolicy { int getProbability(const int unigramProbability, const int bigramProbability) const; - int getUnigramProbabilityOfPtNode(const int ptNodePos) const; + int getProbabilityOfPtNode(const PrevWordsInfo *const prevWordsInfo, + const int ptNodePos) const; int getShortcutPositionOfPtNode(const int ptNodePos) const; diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp index 91d76040f..ad9cd7429 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp @@ -282,7 +282,12 @@ int PatriciaTriePolicy::getProbability(const int unigramProbability, } } -int PatriciaTriePolicy::getUnigramProbabilityOfPtNode(const int ptNodePos) const { +int PatriciaTriePolicy::getProbabilityOfPtNode(const PrevWordsInfo *const prevWordsInfo, + const int ptNodePos) const { + if (prevWordsInfo) { + // TODO: Return probability using prevWordsInfo. + return NOT_A_PROBABILITY; + } if (ptNodePos == NOT_A_DICT_POS) { return NOT_A_PROBABILITY; } diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h index 7c0b9d3c5..e30c8bfb9 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h +++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h @@ -63,7 +63,7 @@ class PatriciaTriePolicy : public DictionaryStructureWithBufferPolicy { int getProbability(const int unigramProbability, const int bigramProbability) const; - int getUnigramProbabilityOfPtNode(const int ptNodePos) const; + int getProbabilityOfPtNode(const PrevWordsInfo *const prevWordsInfo, const int ptNodePos) const; int getShortcutPositionOfPtNode(const int ptNodePos) const; 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 0b5764aba..5197a4dd5 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 @@ -121,7 +121,12 @@ int Ver4PatriciaTriePolicy::getProbability(const int unigramProbability, } } -int Ver4PatriciaTriePolicy::getUnigramProbabilityOfPtNode(const int ptNodePos) const { +int Ver4PatriciaTriePolicy::getProbabilityOfPtNode(const PrevWordsInfo *const prevWordsInfo, + const int ptNodePos) const { + if (prevWordsInfo) { + // TODO: Return probability using prevWordsInfo. + return NOT_A_PROBABILITY; + } if (ptNodePos == NOT_A_DICT_POS) { return NOT_A_PROBABILITY; } diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h index 85929b785..b0f16cd01 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h +++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h @@ -72,7 +72,7 @@ class Ver4PatriciaTriePolicy : public DictionaryStructureWithBufferPolicy { int getProbability(const int unigramProbability, const int bigramProbability) const; - int getUnigramProbabilityOfPtNode(const int ptNodePos) const; + int getProbabilityOfPtNode(const PrevWordsInfo *const prevWordsInfo, const int ptNodePos) const; int getShortcutPositionOfPtNode(const int ptNodePos) const;