blob: 4588941045731c38e4cf639432eb4764d111e3ac (
plain)
use std::marker::PhantomData;
use std::time::Instant;
use model::Move;
use crate::Evaluation;
#[derive(Debug, Clone, Copy)]
pub struct EvalInfo {
pub start_time: Instant,
pub nodes_searched: usize,
pub evaluation: Evaluation,
pub current_best_move: Option<Move>,
pub current_depth: u8,
pub(crate) _unused: PhantomData<()>,
}
impl EvalInfo {
pub fn nodes_per_second(&self) -> usize {
let elapsed = self.start_time.elapsed().as_secs_f64();
(self.nodes_searched as f64 / elapsed) as usize
}
pub fn elapsed_milliseconds(self) -> u32 {
self.start_time.elapsed().as_millis() as u32
}
}
|