summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2011-11-17 18:28:45 +0800
committerPeng Wu <alexepico@gmail.com>2011-11-17 18:30:40 +0800
commita36b1dbc6877b6df76ef2e86d0552e826c50b657 (patch)
treeb606a78676f558074d40896b567e82f12937c73e
parent3bcf118aab782f221185099de58de460c5d03077 (diff)
downloadlibpinyin-a36b1dbc6877b6df76ef2e86d0552e826c50b657.tar.gz
libpinyin-a36b1dbc6877b6df76ef2e86d0552e826c50b657.tar.xz
libpinyin-a36b1dbc6877b6df76ef2e86d0552e826c50b657.zip
update divided/resplit table
-rw-r--r--src/storage/pinyin_parser2.cpp16
-rw-r--r--src/storage/pinyin_parser2.h9
2 files changed, 10 insertions, 15 deletions
diff --git a/src/storage/pinyin_parser2.cpp b/src/storage/pinyin_parser2.cpp
index 5d2414d..c2f3d39 100644
--- a/src/storage/pinyin_parser2.cpp
+++ b/src/storage/pinyin_parser2.cpp
@@ -353,20 +353,18 @@ bool FullPinyinParser2::post_process(guint32 options,
/* no ops */
if (item->m_orig_freq >= item->m_new_freq)
continue;
- /* TODO: refine code style here. */
-#if 0
- if (item->m_orig_first_key == *cur_key &&
- item->m_orig_second_key == *next_key)
+
+ /* use pinyin_exact_compare2 here. */
+ if (0 == pinyin_exact_compare2(item->m_orig_keys,
+ cur_key, 2))
break;
-#endif
- /* TODO: should use pinyin_exact_compare2 here. */
- assert(FALSE);
+
}
if (k < G_N_ELEMENTS(resplit_table)) {
/* do re-split */
item = resplit_table + k;
- *cur_key = item->m_new_first_key;
- *next_key = item->m_new_second_key;
+ *cur_key = item->m_new_keys[0];
+ *next_key = item->m_new_keys[1];
/* assumes only moved one char in gen_all_resplit script. */
cur_rest->m_raw_end --;
next_rest->m_raw_begin --;
diff --git a/src/storage/pinyin_parser2.h b/src/storage/pinyin_parser2.h
index 4e8bbdc..53b5e9b 100644
--- a/src/storage/pinyin_parser2.h
+++ b/src/storage/pinyin_parser2.h
@@ -49,17 +49,14 @@ typedef struct {
typedef struct {
ChewingKey m_orig_key;
guint32 m_orig_freq;
- ChewingKey m_first_key;
- ChewingKey m_second_key;
+ ChewingKey m_new_keys[2];
guint32 m_new_freq;
} divided_table_item_t;
typedef struct {
- ChewingKey m_orig_first_key;
- ChewingKey m_orig_second_key;
+ ChewingKey m_orig_keys[2];
guint32 m_orig_freq;
- ChewingKey m_new_first_key;
- ChewingKey m_new_second_key;
+ ChewingKey m_new_keys[2];
guint32 m_new_freq;
} resplit_table_item_t;