aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2013-12-16 06:58:42 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-12-16 06:58:42 -0800
commit3a98fcb3ee2ed869e6d007776c86fb043fefd4f6 (patch)
treeee46ee06dc85c444416f32d97d7b72810cc5456f
parent84921ea5bc6fe3b0d3cbf06951a21359d93093e7 (diff)
parentb767715651a914ba2d89142d13e23eaf081d5b13 (diff)
downloadlatinime-3a98fcb3ee2ed869e6d007776c86fb043fefd4f6.tar.gz
latinime-3a98fcb3ee2ed869e6d007776c86fb043fefd4f6.tar.xz
latinime-3a98fcb3ee2ed869e6d007776c86fb043fefd4f6.zip
am b7677156: Merge "Fix: incompatibility of sparse table."
* commit 'b767715651a914ba2d89142d13e23eaf081d5b13': Fix: incompatibility of sparse table.
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp4
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/utils/sparse_table.cpp5
2 files changed, 5 insertions, 4 deletions
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp
index 17639cc4d..deed010cd 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp
@@ -48,8 +48,8 @@ const int Ver4DictConstants::TIME_STAMP_FIELD_SIZE = 4;
const int Ver4DictConstants::WORD_LEVEL_FIELD_SIZE = 1;
const int Ver4DictConstants::WORD_COUNT_FIELD_SIZE = 1;
-const int Ver4DictConstants::BIGRAM_ADDRESS_TABLE_BLOCK_SIZE = 4;
-const int Ver4DictConstants::BIGRAM_ADDRESS_TABLE_DATA_SIZE = 16;
+const int Ver4DictConstants::BIGRAM_ADDRESS_TABLE_BLOCK_SIZE = 16;
+const int Ver4DictConstants::BIGRAM_ADDRESS_TABLE_DATA_SIZE = 4;
const int Ver4DictConstants::SHORTCUT_ADDRESS_TABLE_BLOCK_SIZE = 64;
const int Ver4DictConstants::SHORTCUT_ADDRESS_TABLE_DATA_SIZE = 4;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/sparse_table.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/sparse_table.cpp
index 4ad82f9f7..c380429d9 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/utils/sparse_table.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/utils/sparse_table.cpp
@@ -34,7 +34,8 @@ uint32_t SparseTable::get(const int id) const {
const int indexTableReadingPos = getPosInIndexTable(id);
const int index = mIndexTableBuffer->readUint(INDEX_SIZE, indexTableReadingPos);
const int contentTableReadingPos = getPosInContentTable(id, index);
- return mContentTableBuffer->readUint(mDataSize, contentTableReadingPos);
+ const int contentValue = mContentTableBuffer->readUint(mDataSize, contentTableReadingPos);
+ return contentValue == NOT_EXIST ? NOT_A_DICT_POS : contentValue;
}
bool SparseTable::set(const int id, const uint32_t value) {
@@ -70,7 +71,7 @@ bool SparseTable::set(const int id, const uint32_t value) {
// Write a new block that containing the entry to be set.
int writingPos = getPosInContentTable(0 /* id */, index);
for (int i = 0; i < mBlockSize; ++i) {
- if (!mContentTableBuffer->writeUintAndAdvancePosition(NOT_A_DICT_POS, mDataSize,
+ if (!mContentTableBuffer->writeUintAndAdvancePosition(NOT_EXIST, mDataSize,
&writingPos)) {
AKLOGE("cannot write content table to extend. writingPos: %d, tailPos: %d, "
"mDataSize: %d", writingPos, mContentTableBuffer->getTailPosition(), mDataSize);