From 6219c4e75e25b14a78f39cfec0a252260a45f132 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Fri, 2 Mar 2012 11:18:22 +0800 Subject: update utils --- src/pinyin.cpp | 4 ++-- utils/training/eval_correction_rate.cpp | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/pinyin.cpp b/src/pinyin.cpp index c0aa751..bf1345b 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -320,10 +320,10 @@ bool pinyin_guess_sentence(pinyin_instance_t * instance){ 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, + (instance->m_prefixes, + instance->m_pinyin_keys, instance->m_constraints, instance->m_match_results); diff --git a/utils/training/eval_correction_rate.cpp b/utils/training/eval_correction_rate.cpp index 0e05350..5a0ec77 100644 --- a/utils/training/eval_correction_rate.cpp +++ b/utils/training/eval_correction_rate.cpp @@ -58,6 +58,11 @@ bool get_possible_pinyin(FacadePhraseIndex * phrase_index, bool get_best_match(PinyinLookup * pinyin_lookup, ChewingKeyVector keys, TokenVector tokens){ + /* prepare the prefixes for get_best_match. */ + TokenVector prefixes = g_array_new + (FALSE, FALSE, sizeof(phrase_token_t)); + g_array_append_val(prefixes, sentence_start); + /* initialize constraints. */ CandidateConstraints constraints = g_array_new (FALSE, FALSE, sizeof(lookup_constraint_t)); @@ -68,7 +73,11 @@ bool get_best_match(PinyinLookup * pinyin_lookup, constraint->m_type = NO_CONSTRAINT; } - return pinyin_lookup->get_best_match(keys, constraints, tokens); + bool retval = pinyin_lookup->get_best_match(prefixes, keys, constraints, tokens); + + g_array_free(prefixes, TRUE); + g_array_free(constraints, TRUE); + return retval; } bool do_one_test(PinyinLookup * pinyin_lookup, -- cgit