1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
pub use constraints::MoveConstraints;
use myopic_core::BitBoard;
use crate::Board;
use crate::imp::cache::rays::RaySet;
use crate::Termination;
mod constraints;
mod control;
mod rays;
mod termination;
#[derive(Debug, Clone, Default)]
pub struct CalculationCache {
termination_status: Option<Option<Termination>>,
passive_control: Option<BitBoard>,
pinned_set: Option<RaySet>,
move_constraints: Option<MoveConstraints>,
}
impl Board {
pub fn clear_cache(&mut self) {
self.cache.termination_status = None;
self.cache.passive_control = None;
self.cache.pinned_set = None;
self.cache.move_constraints = None;
}
}