[−][src]Struct chess_move_gen::SortedMoveList
SortedMoveList is list move vec but calculates the piece-square score of each move as it adds them to the list This is more efficient than sorting scores later if you need the moves to be sorted according to piece-square score. Underlying structure is a binary heap which allows O(1) insertion and fast ordered interation via into_iter()
Implementations
impl<'a> SortedMoveList<'a>
[src]
pub fn new(
piece_square_table: &'a PieceSquareTable,
piece_grid: &'a [Piece; 64],
stm: Side,
moves: &'a mut BinaryHeap<MoveScore>
) -> SortedMoveList<'a>
[src]
piece_square_table: &'a PieceSquareTable,
piece_grid: &'a [Piece; 64],
stm: Side,
moves: &'a mut BinaryHeap<MoveScore>
) -> SortedMoveList<'a>
pub fn best_move(&self) -> Option<&MoveScore>
[src]
pub fn len(&self) -> usize
[src]
Trait Implementations
impl<'a> Debug for SortedMoveList<'a>
[src]
impl<'a> Display for SortedMoveList<'a>
[src]
impl<'a> MoveList for SortedMoveList<'a>
[src]
pub fn add_captures(&mut self, from: Square, targets: BB)
[src]
pub fn add_non_captures(&mut self, from: Square, targets: BB)
[src]
pub fn add_castle(&mut self, castle: Castle)
[src]
pub fn add_pawn_ep_capture(&mut self, from: Square, to: Square)
[src]
pub fn add_pawn_pushes(&mut self, shift: usize, targets: BB)
[src]
pub fn add_pawn_captures(&mut self, shift: usize, targets: BB)
[src]
Auto Trait Implementations
impl<'a> RefUnwindSafe for SortedMoveList<'a>
impl<'a> Send for SortedMoveList<'a>
impl<'a> Sync for SortedMoveList<'a>
impl<'a> Unpin for SortedMoveList<'a>
impl<'a> !UnwindSafe for SortedMoveList<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> Cast<U> for T where
U: FromCast<T>,
[src]
U: FromCast<T>,
impl<T> From<T> for T
[src]
impl<T> FromCast<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,