00001
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef __SENT_GAUSSIAN_PRUNE__
00030 #define __SENT_GAUSSIAN_PRUNE__
00031
00042 enum{GPRUNE_SEL_UNDEF, GPRUNE_SEL_NONE, GPRUNE_SEL_SAFE, GPRUNE_SEL_HEURISTIC, GPRUNE_SEL_BEAM};
00043
00045 typedef struct {
00046 LOGPROB score;
00047 unsigned short id;
00048 } MIXCACHE;
00049
00057 #define TMBEAMWIDTH 5.0
00058
00059
00060 int cache_push(int id, LOGPROB score, int len);
00061
00062 LOGPROB compute_g_base(HTK_HMM_Dens *binfo);
00063 boolean gprune_none_init();
00064 void gprune_none(HTK_HMM_Dens **g, int num, int *last_id);
00065
00066 LOGPROB compute_g_safe(HTK_HMM_Dens *binfo, LOGPROB thres);
00067 boolean gprune_safe_init();
00068 void gprune_safe(HTK_HMM_Dens **g, int gnum, int *last_id);
00069
00070 boolean gprune_heu_init();
00071 void gprune_heu(HTK_HMM_Dens **g, int gnum, int *last_id);
00072
00073 boolean gprune_beam_init();
00074 void gprune_beam(HTK_HMM_Dens **g, int gnum, int *last_id);
00075
00076
00077 #endif