use crate::basic_types::time::Duration;
use crate::statistics::StatisticLogger;
use crate::statistics::log_statistic;
#[derive(Debug, Default)]
pub struct SolverStatistics {
pub(crate) engine_statistics: EngineStatistics,
}
impl SolverStatistics {
pub(crate) fn log(&self, _statistic_logger: StatisticLogger, _verbose: bool) {
log_statistic("nodes", self.engine_statistics.num_decisions);
log_statistic("restarts", self.engine_statistics.num_restarts);
log_statistic("peakDepth", self.engine_statistics.peak_depth);
log_statistic(
"solveTime",
self.engine_statistics.time_spent_in_solver.as_secs_f64(),
);
}
}
#[derive(Debug, Default)]
pub(crate) struct EngineStatistics {
pub(crate) num_decisions: u64,
pub(crate) num_restarts: u64,
pub(crate) time_spent_in_solver: Duration,
pub(crate) peak_depth: u64,
}