Commit graph

79 commits

Author SHA1 Message Date
Bruno BELANYI b5365f8a82 Add FEN en-passant target square parsing 2024-04-01 22:20:39 +01:00
Bruno BELANYI 3c2a5a412e Add FEN side to move parsing 2024-04-01 22:20:39 +01:00
Bruno BELANYI bd662fdd27 Introduce 'FenError' enum 2024-04-01 22:20:39 +01:00
Bruno BELANYI 0fd9766db0 Add 'FromFen' trait 2024-04-01 22:20:39 +01:00
Bruno BELANYI de27c186d3 Add 'Move' GDB pretty-printing 2024-04-01 22:20:39 +01:00
Bruno BELANYI 3b530b324f Add 'Piece' GDB pretty-printing 2024-04-01 22:20:39 +01:00
Bruno BELANYI 93e9a51589 Add 'Rank' GDB pretty-printing 2024-04-01 22:20:39 +01:00
Bruno BELANYI d3c3790db4 Add 'File' GDB pretty-printing 2024-04-01 22:20:39 +01:00
Bruno BELANYI 8f3687d862 Add 'Color' GDB pretty-printing 2024-04-01 22:20:39 +01:00
Bruno BELANYI 4d69d34fa0 Add 'Move' 2024-04-01 22:20:39 +01:00
Bruno BELANYI be8024d176 Deny warnings in 'clippy' pre-commit hook 2024-04-01 22:20:39 +01:00
Bruno BELANYI 0b9318cdf3 Add 'Bitboard::has_more_than_one' 2024-04-01 22:20:39 +01:00
Bruno BELANYI e673e20a63 Add 'Color::third_rank' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 0cc1fcf912 Add 'CastleRights::with_{king,queen}_side' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 072a1ea13c Add '*Assign' operators to 'Bitboard' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 02768b6d96 Remove all useless 'allow(unused)' 2024-04-01 22:20:39 +01:00
Bruno BELANYI af421a9452 Tighten item visibilities 2024-04-01 22:20:39 +01:00
Bruno BELANYI 3b1735da79 Add 'BitboardIterator::new' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 06087358de Add bitboard-based move generation 2024-04-01 22:20:39 +01:00
Bruno BELANYI 459b878342 Expose magic bitboard generation to parent module 2024-04-01 22:20:39 +01:00
Bruno BELANYI 2bdfbbf467 Add 'MagicMoves' 2024-04-01 22:20:39 +01:00
Bruno BELANYI d519cfb817 Make 'Magic' 'pub(crate)' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 25494700d7 Add missing derives to 'Magic' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 028c4543e7 Move 'Magic' to 'wizardry' submodule 2024-04-01 22:20:39 +01:00
Bruno BELANYI 868edda9d7 Move naive move generation into sub-module 2024-04-01 22:20:39 +01:00
Bruno BELANYI 23d01d4d3f Make all modules at least 'pub(crate)' 2024-04-01 22:20:39 +01:00
Bruno BELANYI bd9238d686 Add 'Color::iter' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 066d442823 Add magic bitboard generation 2024-04-01 22:20:39 +01:00
Bruno BELANYI 5ef3737b98 Make 'Magic' fields 'pub(crate)' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 1951db0720 Add magic mask generation 2024-04-01 22:20:39 +01:00
Bruno BELANYI 2601abdc76 Add 'Magic' type 2024-04-01 22:20:39 +01:00
Bruno BELANYI d3a84750f5 Add naive pawn move generation 2024-04-01 22:20:39 +01:00
Bruno BELANYI bf23d0eaae Add naive rook move generation 2024-04-01 22:20:39 +01:00
Bruno BELANYI 8ff47231a0 Add naive bishop move generation 2024-04-01 22:20:39 +01:00
Bruno BELANYI f0847a4e49 Add naive knight move generation 2024-04-01 22:20:39 +01:00
Bruno BELANYI d91f63b5ed Add naive king move generation 2024-04-01 22:20:39 +01:00
Bruno BELANYI bed7ec3be2 Remove spurious links in 'Square' documentation 2024-04-01 22:20:39 +01:00
Bruno BELANYI 4491e5be00 Remove spurious links in 'Bitboard' documentation 2024-04-01 22:20:39 +01:00
Bruno BELANYI 8d03242e83 Add 'Bitboard::iter_powerset' 2024-04-01 22:20:39 +01:00
Bruno BELANYI a3a9f64213 Add 'Piece' enum 2024-04-01 22:20:39 +01:00
Bruno BELANYI d919b956ed Add 'NUM_VARIANTS' constant to all 'board' enums 2024-04-01 22:20:39 +01:00
Bruno BELANYI 407f85c19b Consistently use 'Self' type in 'impl' blocks 2024-04-01 22:20:39 +01:00
Bruno BELANYI b68dd132e8 Fix typo in 'board::Color' documentation 2024-04-01 22:20:39 +01:00
Bruno BELANYI 2c1142324c Add 'Color::slide_board_with_blockers' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 0315e2fb51 Improve 'board::BitboardIterator'
* Accurate 'size_hint'.
* Exact size.
* Fused iterator (keeps returning 'None' after returning 'None' once).
2024-04-01 22:20:39 +01:00
Bruno BELANYI f3a83065da Add 'Color::{forward,backward}_direction' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 0812d916ff Add 'CastleRights::unmoved_rooks' 2024-04-01 22:20:39 +01:00
Bruno BELANYI e84ec552fe Add 'CastleRights::without_{king,queen}_side' 2024-04-01 22:20:39 +01:00
Bruno BELANYI a21841c0ad Add 'CastleRights::has_{king,queen}_side' 2024-04-01 22:20:39 +01:00
Bruno BELANYI 88e74d5fff Add 'CastleRights' enum 2024-04-01 22:20:39 +01:00