From 073e7c0ceb9c4a83d7c2241c7a9548ca5fceebcb Mon Sep 17 00:00:00 2001 From: Kan-Ru Chen Date: Sun, 28 Apr 2024 11:48:57 +0900 Subject: [PATCH] refactor(conv): log path candidates for debugging --- src/conversion/chewing.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/conversion/chewing.rs b/src/conversion/chewing.rs index e68716af3..015efd8b9 100644 --- a/src/conversion/chewing.rs +++ b/src/conversion/chewing.rs @@ -2,7 +2,7 @@ use std::{ collections::{BTreeMap, BTreeSet, VecDeque}, fmt::{Debug, Display, Write}, iter, - ops::Neg, + ops::{Mul, Neg}, }; use log::{debug, log_enabled, trace, Level::Trace}; @@ -43,6 +43,7 @@ impl ChewingEngine { } let intervals = self.find_intervals(dict, comp); let paths = self.find_k_paths(Self::MAX_OUT_PATHS, comp.len(), intervals); + debug!("paths: {:#?}", paths); debug_assert!(!paths.is_empty()); let mut trimmed_paths = self.trim_paths(paths); @@ -448,7 +449,17 @@ struct PossiblePath { impl Debug for PossiblePath { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_struct("PossiblePath") - .field("score()", &self.score()) + .field("rule_largest_sum()", &self.rule_largest_sum().mul(1000)) + .field( + "rule_largest_avgwordlen()", + &self.rule_largest_avgwordlen().mul(1000), + ) + .field( + "rule_smallest_lenvariance()", + &self.rule_smallest_lenvariance().mul(100), + ) + .field("rule_largest_freqsum()", &self.rule_largest_freqsum()) + .field("total_score()", &self.score()) .field("intervals", &self.intervals) .finish() }