aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src/suggest/policyimpl/dictionary
diff options
context:
space:
mode:
Diffstat (limited to 'native/jni/src/suggest/policyimpl/dictionary')
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.cpp14
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.h6
2 files changed, 20 insertions, 0 deletions
diff --git a/native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.cpp
index c807fb7c9..24de9dcd9 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.cpp
@@ -69,4 +69,18 @@ int PatriciaTriePolicy::getUnigramProbability(
return BinaryFormat::readProbabilityWithoutMovingPointer(root, pos);
}
+int PatriciaTriePolicy::getShortcutPositionOfNode(
+ const BinaryDictionaryInfo *const binaryDictionaryInfo,
+ const int nodePos) const {
+ return BinaryFormat::getShortcutListPositionForWordPosition(
+ binaryDictionaryInfo->getDictRoot(), nodePos);
+}
+
+int PatriciaTriePolicy::getBigramsPositionOfNode(
+ const BinaryDictionaryInfo *const binaryDictionaryInfo,
+ const int nodePos) const {
+ return BinaryFormat::getBigramListPositionForWordPosition(
+ binaryDictionaryInfo->getDictRoot(), nodePos);
+}
+
} // namespace latinime
diff --git a/native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.h
index 0a16e414a..8f36fe00e 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/patricia_trie_policy.h
@@ -48,6 +48,12 @@ class PatriciaTriePolicy : public DictionaryStructurePolicy {
int getUnigramProbability(const BinaryDictionaryInfo *const binaryDictionaryInfo,
const int nodePos) const;
+ int getShortcutPositionOfNode(const BinaryDictionaryInfo *const binaryDictionaryInfo,
+ const int nodePos) const;
+
+ int getBigramsPositionOfNode(const BinaryDictionaryInfo *const binaryDictionaryInfo,
+ const int nodePos) const;
+
private:
DISALLOW_COPY_AND_ASSIGN(PatriciaTriePolicy);
static const PatriciaTriePolicy sInstance;