Struct inanis::cache::killers::KTable

source ·
pub struct KTable {
    pub table: Box<[[KTableEntry; 2]; 64]>,
}

Fields§

§table: Box<[[KTableEntry; 2]; 64]>

Implementations§

source§

impl KTable

source

pub fn add(&mut self, ply: u16, move: Move)

Adds a new killer r#move at the level specified by ply value. Maximal amount of slots for each of them is set by KILLER_SLOTS constant, and newer entries have always a priority over old ones. If there’s already exactly the same move in the slot 0, the table is not changed.

source

pub fn get(&self, ply: u16) -> [Move; 2]

Gets all killer moves at the level specified by ply.

source

pub fn age_moves(&mut self)

Ages killer table by shifting all ply levels by two positions up, to ensure that killer moves inside match board after two halfmoves.

Trait Implementations§

source§

impl Default for KTable

source§

fn default() -> Self

Constructs a default instance of KTable by allocating KILLER_SLOTS * MAX_DEPTH * mem::size_of::<KTableEntry>() boxed array with zeroed elements.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.