ecrs 0.1.0-beta.4

Evolutionary computation tools & algorithms
Documentation
use crate::ff::probe::Probe;

pub struct StdoutProbe {}

impl StdoutProbe {
    pub fn new() -> StdoutProbe {
        StdoutProbe {}
    }
}

impl Probe for StdoutProbe {
    fn on_start(&mut self) {
        println!("START");
    }
    fn on_iteration_start(&mut self, iteration: u32) {
        println!("--- ITERATION {iteration} ---");
    }
    fn on_iteration_end(&mut self, _iteration: u32) {
        println!("################################");
    }
    fn on_current_best(&mut self, solution: f64, _position: &[f64]) {
        println!("Iteration best: {solution}");
        for (dim, pos) in _position.iter().enumerate() {
            println!("X{dim}: {pos}",)
        }
    }
    fn on_end(&mut self) {
        println!("END");
    }
}