Skip to main content

irithyll_core/ensemble/config/
display.rs

1//! Display implementations for SGBT config types.
2
3use super::{DriftDetectorType, SGBTConfig};
4use crate::alloc::fmt;
5
6impl fmt::Display for DriftDetectorType {
7    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
8        match self {
9            Self::PageHinkley { delta, lambda } => {
10                write!(f, "PageHinkley(delta={}, lambda={})", delta, lambda)
11            }
12            Self::Adwin { delta } => write!(f, "Adwin(delta={})", delta),
13            Self::Ddm {
14                warning_level,
15                drift_level,
16                min_instances,
17            } => write!(
18                f,
19                "Ddm(warning={}, drift={}, min_instances={})",
20                warning_level, drift_level, min_instances
21            ),
22        }
23    }
24}
25
26impl fmt::Display for SGBTConfig {
27    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
28        write!(
29            f,
30            "SGBTConfig {{ steps={}, lr={}, depth={}, bins={}, variant={}, drift={} }}",
31            self.n_steps,
32            self.learning_rate,
33            self.max_depth,
34            self.n_bins,
35            self.variant,
36            self.drift_detector,
37        )
38    }
39}