diff options
author | Peng Wu <alexepico@gmail.com> | 2012-03-02 11:01:09 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-03-02 11:01:09 +0800 |
commit | 92b698bcd9d09f8a5f3af62d70385b80cb0d1f59 (patch) | |
tree | 74845d195a28db3e34967b77140e25fa4cd3c332 /src | |
parent | c086810d3e0f2627d46a2b78103757af0f731dac (diff) | |
download | libpinyin-92b698bcd9d09f8a5f3af62d70385b80cb0d1f59.tar.gz libpinyin-92b698bcd9d09f8a5f3af62d70385b80cb0d1f59.tar.xz libpinyin-92b698bcd9d09f8a5f3af62d70385b80cb0d1f59.zip |
update pinyin.*
Diffstat (limited to 'src')
-rw-r--r-- | src/pinyin.cpp | 6 | ||||
-rw-r--r-- | src/pinyin.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp index deaa7c6..c0aa751 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -271,6 +271,7 @@ pinyin_instance_t * pinyin_alloc_instance(pinyin_context_t * context){ pinyin_instance_t * instance = new pinyin_instance_t; instance->m_context = context; + instance->m_prefixes = g_array_new(FALSE, FALSE, sizeof(phrase_token_t)); instance->m_pinyin_keys = g_array_new(FALSE, FALSE, sizeof(ChewingKey)); instance->m_pinyin_key_rests = g_array_new(FALSE, FALSE, sizeof(ChewingKeyRest)); @@ -283,6 +284,7 @@ pinyin_instance_t * pinyin_alloc_instance(pinyin_context_t * context){ } void pinyin_free_instance(pinyin_instance_t * instance){ + g_array_free(instance->m_prefixes, TRUE); g_array_free(instance->m_pinyin_keys, TRUE); g_array_free(instance->m_pinyin_key_rests, TRUE); g_array_free(instance->m_constraints, TRUE); @@ -315,6 +317,10 @@ static bool pinyin_update_constraints(pinyin_instance_t * instance){ bool pinyin_guess_sentence(pinyin_instance_t * instance){ pinyin_context_t * & context = instance->m_context; + g_array_set_size(instance->m_prefixes, 0); + g_array_append_val(instance->m_prefixes, sentence_start); + + /* TODO: update get_best_match call. */ pinyin_update_constraints(instance); bool retval = context->m_pinyin_lookup->get_best_match (instance->m_pinyin_keys, diff --git a/src/pinyin.h b/src/pinyin.h index e0ec835..da2e820 100644 --- a/src/pinyin.h +++ b/src/pinyin.h @@ -38,6 +38,7 @@ typedef struct _pinyin_instance_t pinyin_instance_t; struct _pinyin_instance_t{ pinyin_context_t * m_context; + TokenVector m_prefixes; ChewingKeyVector m_pinyin_keys; ChewingKeyRestVector m_pinyin_key_rests; CandidateConstraints m_constraints; |