Struct pleco::core::piece_move::BitMove [] [src]

pub struct BitMove { /* fields omitted */ }

Represents a singular move.

A BitMove consists of 16 bits, all of which to include a source square, destination square, and special move-flags to differentiate types of moves.

A BitMove should never be created directly, but rather instigated with a PreMoveInfo. This is because the bits are in a special order, and manually creating moves risks creating an invalid move.

Methods

impl BitMove
[src]

[src]

Creates a new BitMove from raw bits.

Safety

Using this method cannot guarantee that the move is legal. The input bits must be encoding a legal move, or else there is Undefined Behavior if the resulting BitMove is used.

[src]

Creates a BitMove from a [PreMoveInfo].

[src]

Creates a Null Move.

Safety

A Null move is never a valid move to play. Using a Null move should onl be used for search and evaluation purposes.

[src]

Returns if a [BitMove] is a Null Move.

See [BitMove::null()] for more information on Null moves.

[src]

Returns if a [BitMove] captures an opponent's piece.

[src]

Returns if a [BitMove] is a Quiet Move, meaning it is not any of the following: a capture, promotion, castle, or double pawn push.

[src]

Returns if a [BitMove] is a promotion.

[src]

Returns the destination of a [BitMove].

[src]

Returns the destination of a [BitMove].

[src]

Returns the source square of a [BitMove].

[src]

Returns the source square of a [BitMove].

[src]

Returns if a [BitMove] is a castle.

[src]

Returns if a [BitMove] is a Castle && it is a KingSide Castle.

[src]

Returns if a [BitMove] is a Castle && it is a QueenSide Castle.

[src]

Returns if a [BitMove] is an enpassant capture.

[src]

Returns if a [BitMove] is a double push, and if so returns the Destination square as well.

[src]

Returns the Rank (otherwise known as row) that the destination square of a BitMove lies on.

[src]

Returns the File (otherwise known as column) that the destination square of a BitMove lies on.

[src]

Returns the Rank (otherwise known as row) that the from-square of a BitMove lies on.

[src]

Returns the File (otherwise known as column) that the from-square of a BitMove lies on.

[src]

Returns the Promotion Piece of a [BitMove].

Safety

Method should only be used if the [BitMove] is a promotion. Otherwise, Undefined Behavior may result.

[src]

Returns the [MoveType] of a [BitMove].

[src]

Returns a String representation of a [BitMove].

Format goes "Source Square, Destination Square, (Promo Piece)". Moving a Queen from A1 to B8 will stringify to "a1b8". If there is a pawn promotion involved, the piece promoted to will be appended to the end of the string, alike "a7a8q" in the case of a queen promotion.

[src]

Returns the raw number representation of the move.

Trait Implementations

impl Copy for BitMove
[src]

impl Clone for BitMove
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl PartialEq for BitMove
[src]

[src]

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

[src]

This method tests for !=.

impl Eq for BitMove
[src]

impl Display for BitMove
[src]

[src]

Formats the value using the given formatter. Read more