diff options
author | Peng Wu <alexepico@gmail.com> | 2013-11-25 12:43:43 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2013-11-29 15:09:14 +0800 |
commit | 810e3780c7eccf45cdff2ac570db487656583d86 (patch) | |
tree | 0fd6cce16a4289a57061852dc406a84ca430482c /src/pinyin.cpp | |
parent | 605e8ff9e28f372c43e5f133fe8a540857f819ae (diff) | |
download | libpinyin-810e3780c7eccf45cdff2ac570db487656583d86.tar.gz libpinyin-810e3780c7eccf45cdff2ac570db487656583d86.tar.xz libpinyin-810e3780c7eccf45cdff2ac570db487656583d86.zip |
add filter to guess predicted candidates
Diffstat (limited to 'src/pinyin.cpp')
-rw-r--r-- | src/pinyin.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp index 975859d..28f7c2a 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -1761,6 +1761,8 @@ bool pinyin_guess_full_pinyin_candidates(pinyin_instance_t * instance, bool pinyin_guess_predicted_candidates(pinyin_instance_t * instance, const char * prefix) { + const guint32 filter = 256; + pinyin_context_t * & context = instance->m_context; FacadePhraseIndex * & phrase_index = context->m_phrase_index; GArray * & prefixes = instance->m_prefixes; @@ -1795,10 +1797,14 @@ bool pinyin_guess_predicted_candidates(pinyin_instance_t * instance, BigramPhraseItemWithCount * phrase_item = &g_array_index (tokens, BigramPhraseItemWithCount, k); + if (phrase_item->m_count < filter) + continue; + int result = phrase_index->get_phrase_item (phrase_item->m_token, cached_item); if (ERROR_NO_SUB_PHRASE_INDEX == result) continue; + if (len != cached_item.get_phrase_length()) continue; |