28 tprintf(
"%s ViterbiStateEntry", msg);
30 if (this->debug_str !=
nullptr) {
31 tprintf(
" str=%s", this->debug_str->string());
33 tprintf(
" with ratings_sum=%.4f length=%d cost=%.6f",
34 this->ratings_sum, this->length, this->cost);
35 if (this->top_choice_flags) {
36 tprintf(
" top_choice_flags=0x%x", this->top_choice_flags);
38 if (!this->Consistent()) {
39 tprintf(
" inconsistent=(punc %d case %d chartype %d script %d font %d)",
40 this->consistency_info.NumInconsistentPunc(),
41 this->consistency_info.NumInconsistentCase(),
42 this->consistency_info.NumInconsistentChartype(),
43 this->consistency_info.inconsistent_script,
44 this->consistency_info.inconsistent_font);
46 if (this->dawg_info)
tprintf(
" permuter=%d", this->dawg_info->permuter);
47 if (this->ngram_info) {
48 tprintf(
" ngram_cl_cost=%g context=%s ngram pruned=%d",
49 this->ngram_info->ngram_and_classifier_cost,
50 this->ngram_info->context.string(),
51 this->ngram_info->pruned);
53 if (this->associate_stats.shape_cost > 0.0f) {
54 tprintf(
" shape_cost=%g", this->associate_stats.shape_cost);
57 XHeightConsistencyEnumName[this->consistency_info.xht_decision]);
71 tprintf(
"%s VSEs (max_cost=%g prn_len=%d tot_len=%d):\n",
75 for (vit.mark_cycle_pt(); !vit.cycled_list(); vit.forward()) {
76 vit.data()->Print(
"");
int viterbi_state_entries_prunable_length
Number and max cost of prunable paths in viterbi_state_entries.
int viterbi_state_entries_length
Total number of entries in viterbi_state_entries.
void Clear()
Clears the viterbi search state back to its initial conditions.
void Print(const char *msg)
ViterbiStateEntry_LIST viterbi_state_entries
Storage for the Viterbi state.
#define ELISTIZE(CLASSNAME)
DLLSYM void tprintf(const char *format,...)
float viterbi_state_entries_prunable_max_cost