summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2012-04-17 12:37:41 +0800
committerPeng Wu <alexepico@gmail.com>2012-04-17 12:37:41 +0800
commitd05bc0820b9c758da0d96125d0b79a9f02fdd5e1 (patch)
treea77c99ec09f0d7af188d4079fe82a8c677325677 /src
parent67ded97ab3a0c03e11bc0776fbdec5b0bf3a1b3f (diff)
downloadlibpinyin-d05bc0820b9c758da0d96125d0b79a9f02fdd5e1.tar.gz
libpinyin-d05bc0820b9c758da0d96125d0b79a9f02fdd5e1.tar.xz
libpinyin-d05bc0820b9c758da0d96125d0b79a9f02fdd5e1.zip
refine candidate api
Diffstat (limited to 'src')
-rw-r--r--src/pinyin.cpp9
-rw-r--r--src/pinyin.h20
2 files changed, 21 insertions, 8 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp
index b496540..2b20589 100644
--- a/src/pinyin.cpp
+++ b/src/pinyin.cpp
@@ -617,9 +617,14 @@ bool pinyin_get_candidates(pinyin_instance_t * instance,
#endif
/* internal definition */
-typedef struct {
+typedef struct _compare_item_t{
phrase_token_t m_token;
guint32 m_freq; /* the amplifed gfloat numerical value. */
+
+public:
+ _compare_item_t(){
+ m_token = null_token; m_freq = 0;
+ }
} compare_item_t;
static gint compare_item_with_token(gconstpointer lhs,
@@ -730,7 +735,7 @@ bool pinyin_get_candidates(pinyin_instance_t * instance,
for (size_t k = range->m_range_begin;
k < range->m_range_end; ++k) {
compare_item_t item;
- item.m_token = k; item.m_freq = 0;
+ item.m_token = k;
g_array_append_val(items, item);
}
}
diff --git a/src/pinyin.h b/src/pinyin.h
index e8b751a..d4f14ce 100644
--- a/src/pinyin.h
+++ b/src/pinyin.h
@@ -50,6 +50,14 @@ struct _lookup_candidate_t{
phrase_token_t m_token;
ChewingKeyRest m_orig_rest;
gchar * m_new_pinyins;
+ guint32 m_freq; /* the amplifed gfloat numerical value. */
+public:
+ _lookup_candidate_t() {
+ m_candidate_type = NORMAL_CANDIDATE;
+ m_token = null_token;
+ m_new_pinyins = NULL;
+ m_freq = 0;
+ }
};
struct _pinyin_instance_t{
@@ -301,9 +309,9 @@ bool pinyin_get_candidates(pinyin_instance_t * instance,
size_t offset,
TokenVector candidates);
-bool pinyin_get_candidates_v2(pinyin_instance_t * instance,
- size_t offset,
- CandidateVector candidates);
+bool pinyin_get_full_pinyin_candidates(pinyin_instance_t * instance,
+ size_t offset,
+ CandidateVector candidates);
/**
* pinyin_choose_candidate:
@@ -319,9 +327,9 @@ int pinyin_choose_candidate(pinyin_instance_t * instance,
size_t offset,
phrase_token_t token);
-int pinyin_choose_candidate_v2(pinyin_instance_t * instance,
- size_t offset,
- lookup_candidate_t * candidate);
+int pinyin_choose_full_pinyin_candidate(pinyin_instance_t * instance,
+ size_t offset,
+ lookup_candidate_t * candidate);
/**
* pinyin_clear_constraint: