Struct chess_move_gen::MoveCounter[][src]

pub struct MoveCounter {
    pub moves: u8,
    pub captures: u8,
    pub castles: u8,
    pub promotions: u8,
    pub ep_captures: u8,
}

MoveCounter implements MoveList and keeps a count of different types of moves added to it. It can count at most 256 moves since it uses u8 internally

Fields

Methods

impl MoveCounter
[src]

Trait Implementations

impl Debug for MoveCounter
[src]

Formats the value using the given formatter. Read more

impl Clone for MoveCounter
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for MoveCounter
[src]

impl PartialEq for MoveCounter
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl MoveList for MoveCounter
[src]

Adds moves from the from-square. Targets is a bitboard of valid to-squares. Enemy is a bitboard of enemy pieces (ie pieces that can be captured)

Adds the castle to the move list

Adds pawn en-passant capture to list. From and to are the squares the moving pieces moves from and to, respectively

Adds pawn non-captures to the list. Targets is a bitboard of valid to-squares. Shift is the distance the pawn moved to get to the target square, mod 64. For example, for a white piece moving forward one row this is '8'. For a black piece moving forward one row this is 56 (-8 % 64).

Adds pawn captures to list. Targets and shift are same as for add_pawn_pushes. Do not use this for en-passant captures (use add_pawn_ep_capture)

Auto Trait Implementations

impl Send for MoveCounter

impl Sync for MoveCounter