use super::TimePoint;
#[derive(Clone, Copy, Debug)]
pub struct TimeOptions {
pub network_delay: TimePoint,
pub network_delay2: TimePoint,
pub minimum_thinking_time: TimePoint,
pub slow_mover: i32,
pub usi_ponder: bool,
pub stochastic_ponder: bool,
}
#[cfg(feature = "deep")]
const DEFAULT_NETWORK_DELAY: TimePoint = 400;
#[cfg(feature = "deep")]
const DEFAULT_NETWORK_DELAY2: TimePoint = 1400;
#[cfg(not(feature = "deep"))]
const DEFAULT_NETWORK_DELAY: TimePoint = 120;
#[cfg(not(feature = "deep"))]
const DEFAULT_NETWORK_DELAY2: TimePoint = 1120;
impl Default for TimeOptions {
fn default() -> Self {
Self {
network_delay: DEFAULT_NETWORK_DELAY,
network_delay2: DEFAULT_NETWORK_DELAY2,
minimum_thinking_time: 2000,
slow_mover: 100,
usi_ponder: false,
stochastic_ponder: false,
}
}
}
impl TimeOptions {
pub fn deep_defaults() -> Self {
Self {
network_delay: 400,
network_delay2: 1400,
minimum_thinking_time: 2000,
slow_mover: 100,
usi_ponder: false,
stochastic_ponder: false,
}
}
}