27 tprintf(
"%s ViterbiStateEntry", msg);
29 if (this->debug_str !=
nullptr) {
30 tprintf(
" str=%s", this->debug_str->c_str());
32 tprintf(
" with ratings_sum=%.4f length=%d cost=%.6f",
33 this->ratings_sum, this->length, this->cost);
34 if (this->top_choice_flags) {
35 tprintf(
" top_choice_flags=0x%x", this->top_choice_flags);
37 if (!this->Consistent()) {
38 tprintf(
" inconsistent=(punc %d case %d chartype %d script %d font %d)",
39 this->consistency_info.NumInconsistentPunc(),
40 this->consistency_info.NumInconsistentCase(),
41 this->consistency_info.NumInconsistentChartype(),
42 this->consistency_info.inconsistent_script,
43 this->consistency_info.inconsistent_font);
45 if (this->dawg_info)
tprintf(
" permuter=%d", this->dawg_info->permuter);
46 if (this->ngram_info) {
47 tprintf(
" ngram_cl_cost=%g context=%s ngram pruned=%d",
48 this->ngram_info->ngram_and_classifier_cost,
49 this->ngram_info->context.c_str(),
50 this->ngram_info->pruned);
52 if (this->associate_stats.shape_cost > 0.0f) {
53 tprintf(
" shape_cost=%g", this->associate_stats.shape_cost);
56 XHeightConsistencyEnumName[this->consistency_info.xht_decision]);
70 tprintf(
"%s VSEs (max_cost=%g prn_len=%d tot_len=%d):\n",
74 for (vit.mark_cycle_pt(); !vit.cycled_list(); vit.forward()) {
75 vit.data()->Print(
"");