#include <sent/stddefs.h>
#include <sent/htk_hmm.h>
#include <sent/htk_param.h>
#include <sent/hmm.h>
#include <sent/hmm_calc.h>
関数 | |
static int | find_insert_point (LOGPROB *calced_score, LOGPROB score, int len) |
Find where the new value should be inserted to the OP_cacled_score, already sorted by score, using binary search. | |
int | cache_push (HMMWork *wrk, int id, LOGPROB score, int len) |
Store a score to the current list of computed Gaussians. |
ここには Gaussian pruningにおいて各アルゴリズムで共通に用いられる キャッシュ操作関数などが含まれています.
gprune_common.c で定義されています。
Find where the new value should be inserted to the OP_cacled_score, already sorted by score, using binary search.
score | [in] the new score to be inserted | |
len | [in] length of data in OP_calced_score |
gprune_common.c の 48 行で定義されています。
参照元 cache_push().
Store a score to the current list of computed Gaussians.
Store the calculated score of a Gaussian to OP_calced_score, with its corresponding mixture id to OP_calced_id.
The OP_calced_score and OP_calced_id always holds the (OP_gprune_num)-best scores and ids. If the number of stored Gaussian from start has reached OP_gprune_num and the given score is below the bottom, it will be dropped. Else, the new score will be inserted and the bottom will be dropped from the list.
The OP_calced_score will always kept sorted by the scores.
wrk | [i/o] HMM computation work area | |
id | [in] mixture id of the Gaussian to store | |
score | [in] score of the Gaussian to store | |
len | [in] current number of stored scores in OP_calced_score |
gprune_common.c の 88 行で定義されています。
参照元 gprune_beam(), gprune_heu(), と gprune_safe().