diff options
-rw-r--r-- | src/lookup/phrase_lookup.cpp | 14 | ||||
-rw-r--r-- | utils/segment/ngseg.cpp | 9 |
2 files changed, 16 insertions, 7 deletions
diff --git a/src/lookup/phrase_lookup.cpp b/src/lookup/phrase_lookup.cpp index e3bf2d9..86c9077 100644 --- a/src/lookup/phrase_lookup.cpp +++ b/src/lookup/phrase_lookup.cpp @@ -104,7 +104,7 @@ bool PhraseLookup::search_unigram(int nstep, phrase_token_t token){ lookup_value_t * max_value = &g_array_index(lookup_content, lookup_value_t, 0); /* find the maximum node */ - for ( size_t i = 1; i < m_steps_content->len; ++i ){ + for ( size_t i = 1; i < lookup_content->len; ++i ){ lookup_value_t * cur_value = &g_array_index(lookup_content, lookup_value_t, i); if ( cur_value->m_poss > max_value->m_poss ) max_value = cur_value; @@ -217,20 +217,20 @@ bool PhraseLookup::save_next_step(int next_step_pos, lookup_value_t * cur_value, bool PhraseLookup::final_step(MatchResults & results ){ //reset results g_array_set_size(results, m_steps_content->len); - for ( size_t i = 0; i < m_steps_content->len; ++i ){ + for ( size_t i = 0; i < results->len; ++i ){ phrase_token_t * token = &g_array_index(results, phrase_token_t, i); *token = null_token; } //find max element size_t last_step_pos = m_steps_content->len - 1; - GArray * last_step_array = (GArray *) g_ptr_array_index(m_steps_content, last_step_pos); - if ( last_step_array->len == 0 ) + GArray * last_step_content = (GArray *) g_ptr_array_index(m_steps_content, last_step_pos); + if ( last_step_content->len == 0 ) return false; - lookup_value_t * max_value = &g_array_index(last_step_array, lookup_value_t, 0); - for ( size_t i = 1; i < last_step_array->len; ++i ){ - lookup_value_t * cur_value = &g_array_index(last_step_array, lookup_value_t, i); + lookup_value_t * max_value = &g_array_index(last_step_content, lookup_value_t, 0); + for ( size_t i = 1; i < last_step_content->len; ++i ){ + lookup_value_t * cur_value = &g_array_index(last_step_content, lookup_value_t, i); if ( cur_value->m_poss > max_value->m_poss ) max_value = cur_value; } diff --git a/utils/segment/ngseg.cpp b/utils/segment/ngseg.cpp index dd8a704..ccb88d7 100644 --- a/utils/segment/ngseg.cpp +++ b/utils/segment/ngseg.cpp @@ -57,6 +57,15 @@ bool deal_with_segmentable(GArray * current_utf16){ char * result_string = NULL; MatchResults results = g_array_new(FALSE, FALSE, sizeof(phrase_token_t)); g_phrase_lookup->get_best_match(current_utf16->len, (utf16_t *) current_utf16->data, results); +#if 0 + for ( size_t i = 0; i < results->len; ++i) { + phrase_token_t * token = &g_array_index(results, phrase_token_t, i); + if ( *token == null_token ) + continue; + printf("%d:%d\t", i, *token); + } + printf("\n"); +#endif g_phrase_lookup->convert_to_utf8(results, "\n", result_string); printf("%s\n", result_string); g_array_free(results, TRUE); |