Struct inanis::engine::see::SEEContainer
source · pub struct SEEContainer {
pub table: Box<[[[i16; 256]; 256]; 6]>,
pub evaluation_parameters: Arc<EvaluationParameters>,
}
Fields§
§table: Box<[[[i16; 256]; 256]; 6]>
§evaluation_parameters: Arc<EvaluationParameters>
Implementations§
source§impl SEEContainer
impl SEEContainer
sourcepub fn new(evaluation_parameters: Option<Arc<EvaluationParameters>>) -> Self
pub fn new(evaluation_parameters: Option<Arc<EvaluationParameters>>) -> Self
Constructs a default instance of SEEContainer with zeroed elements.
sourcepub fn get(
&self,
attacking_piece: usize,
target_piece: usize,
attackers: usize,
defenders: usize
) -> i16
pub fn get( &self, attacking_piece: usize, target_piece: usize, attackers: usize, defenders: usize ) -> i16
Gets a result of the static exchange evaluation, based on attacking_piece
, target_piece
, attackers
and defenders
.
sourcefn evaluate(
&self,
target_piece: usize,
attackers: usize,
defenders: usize
) -> i16
fn evaluate( &self, target_piece: usize, attackers: usize, defenders: usize ) -> i16
Evaluates a static exchange evaluation result, based on target_piece
, attackers
, defenders
.
sourcefn evaluate_internal(
&self,
attacking_piece: usize,
target_piece: usize,
attackers: usize,
defenders: usize
) -> i16
fn evaluate_internal( &self, attacking_piece: usize, target_piece: usize, attackers: usize, defenders: usize ) -> i16
Recursive function called by evaluate
to help evaluate a static exchange evaluation result.
sourcefn get_see_piece_index(&self, piece: usize) -> usize
fn get_see_piece_index(&self, piece: usize) -> usize
Converts piece
index to SEE piece index, which supports multiple pieces of the same type stored in one variable:
- 1 pawn (index 0)
- 3 knights/bishops (index 1-3)
- 2 rooks (index 4-5)
- 1 queen (index 6)
- 1 king (index 7)
sourcefn get_piece_value(&self, piece_index: usize) -> i16
fn get_piece_value(&self, piece_index: usize) -> i16
Gets a piece value based on piece_index
saved in SEE format (look get_see_piece_index
).
Auto Trait Implementations§
impl RefUnwindSafe for SEEContainer
impl Send for SEEContainer
impl Sync for SEEContainer
impl Unpin for SEEContainer
impl UnwindSafe for SEEContainer
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more