Commit graph

72 commits

Author SHA1 Message Date
Bruno BELANYI 76577718d8 Add FEN castling rights parsing 2022-07-30 12:38:45 +02:00
Bruno BELANYI 7df442e03c Add FEN piece type parsing 2022-07-30 12:38:45 +02:00
Bruno BELANYI dba4d94e35 Add FEN en-passant target square parsing 2022-07-28 20:28:45 +02:00
Bruno BELANYI 6f0e2f732b Add FEN side to move parsing 2022-07-28 20:28:45 +02:00
Bruno BELANYI 611e12c033 Add 'Color::third_rank' 2022-07-28 20:28:45 +02:00
Bruno BELANYI dde5b69f81 Add 'FromFen' trait 2022-07-28 20:28:45 +02:00
Bruno BELANYI 7e23cb8f77 Introduce 'Error' enum 2022-07-28 20:28:45 +02:00
Bruno BELANYI 8102b08cf0 Add 'CastleRights::with_{king,queen}_side' 2022-07-28 20:28:45 +02:00
Bruno BELANYI e7e5927902 Add 'Move' 2022-07-28 20:28:45 +02:00
Bruno BELANYI 80e3ace8fc Add '*Assign' operators to 'Bitboard' 2022-07-27 23:36:54 +02:00
Bruno BELANYI 02d48fe526 Remove all useless 'allow(unused)' 2022-07-27 23:36:54 +02:00
Bruno BELANYI 915244b238 Add 'rerun-if-changed' directives to build script 2022-07-27 23:36:54 +02:00
Bruno BELANYI d2c61a81b5 Make use of generated move tables 2022-07-27 23:36:54 +02:00
Bruno BELANYI bd43535192 Move naive move generation into sub-module 2022-07-27 23:36:53 +02:00
Bruno BELANYI 8289204e4b Generate magic tables with build script 2022-07-27 23:36:53 +02:00
Bruno BELANYI d2eda07036 Make all modules at least 'pub(crate)' 2022-07-27 23:36:53 +02:00
Bruno BELANYI 0222ec4c2d Add 'Color::iter' 2022-07-27 23:36:53 +02:00
Bruno BELANYI d97e7d646e Move 'Magic' into 'seer::movegen::magic' 2022-07-27 23:36:53 +02:00
Bruno BELANYI 7dbe48ad23 Add '# Safety' section to 'unsafe fn' doc 2022-07-25 16:42:46 +02:00
Bruno BELANYI 2eb7e4c8ef Allow some clippy warnings 2022-07-25 16:42:46 +02:00
Bruno BELANYI 1a0aa5fddb Remove superfluous 'format!' call 2022-07-25 16:42:46 +02:00
Bruno BELANYI a04b1f3a42 Add magic bitboard generation 2022-07-25 16:42:46 +02:00
Bruno BELANYI 3f00c6d1fc Make 'Magic' fields 'pub(crate)' 2022-07-25 16:42:46 +02:00
Bruno BELANYI acbbfc7c8b Add magic mask generation 2022-07-24 16:34:12 +02:00
Bruno BELANYI 6b0563b1bd Add 'Magic' type 2022-07-24 16:34:12 +02:00
Bruno BELANYI 847e18dac1 Add naive pawn move generation 2022-07-24 16:34:12 +02:00
Bruno BELANYI dbe3539a66 Add naive rook move generation 2022-07-22 10:37:12 +02:00
Bruno BELANYI 5101d8c285 Add naive bishop move generation 2022-07-22 10:37:12 +02:00
Bruno BELANYI 76f3c41110 Add naive knight move generation 2022-07-22 10:37:12 +02:00
Bruno BELANYI 8428ac0028 Add naive king move generation 2022-07-22 10:37:12 +02:00
Bruno BELANYI e3ea602bb9 Remove spurious links in 'Square' documentation 2022-07-22 10:37:12 +02:00
Bruno BELANYI 8fdbdd1f61 Remove spurious links in 'Bitboard' documentation 2022-07-22 10:36:59 +02:00
Bruno BELANYI fa68be533a Add 'Bitboard::iter_powerset' 2022-07-22 10:36:59 +02:00
Bruno BELANYI 2b9b637ab5 Add 'Piece' enum 2022-07-22 10:36:59 +02:00
Bruno BELANYI 337b8f61f4 Add 'NUM_VARIANTS' constant to all 'board' enums 2022-07-22 10:36:59 +02:00
Bruno BELANYI 2c140d0481 Consistently use 'Self' type in 'impl' blocks 2022-07-22 10:36:59 +02:00
Bruno BELANYI 3f4c23321f Fix typo in 'board::Color' documentation 2022-07-22 10:36:59 +02:00
Bruno BELANYI 500e6fd22f Add 'Color::slide_board_with_blockers' 2022-07-22 10:36:59 +02:00
Bruno BELANYI b3222276ab Improve 'board::BitboardIterator'
All checks were successful
continuous-integration/drone/push Build is passing
* Accurate 'size_hint'.
* Exact size.
* Fused iterator (keeps returning 'None' after returning 'None' once).
2022-07-18 18:21:16 +02:00
Bruno BELANYI 7c8dce8f49 Add 'Color::{forward,backward}_direction' 2022-07-18 17:37:24 +02:00
Bruno BELANYI aa3b464bb8 Add 'CastleRights::unmoved_rooks'
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-18 13:50:23 +02:00
Bruno BELANYI c5949fb01e Add 'CastleRights::without_{king,queen}_side' 2022-07-18 13:38:52 +02:00
Bruno BELANYI 562182d26b Add 'CastleRights::has_{king,queen}_side' 2022-07-18 13:28:23 +02:00
Bruno BELANYI 63c5d2dc34 Add 'CastleRights' enum 2022-07-18 13:27:03 +02:00
Bruno BELANYI e0c667d090 Add 'Color' enum 2022-07-18 13:22:04 +02:00
Bruno BELANYI 3a6c4113fc Rename 'board::direction{s,}' 2022-07-18 13:11:37 +02:00
Bruno BELANYI 66e5109157 Statically assert zero-cost invariants
All checks were successful
continuous-integration/drone/push Build is passing
Since some or all of those invariants will come in handy to ensure we
use as little memory as possible, to maximize the speed of the move
generation later on.
2022-07-18 11:05:41 +02:00
Bruno BELANYI ca4603ff02 Add 'static_assert' macro 2022-07-18 11:04:52 +02:00
Bruno BELANYI 74d2a2cf6a Add 'Bitboard::{LIGHT,DARK}_SQUARES
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-18 10:01:23 +02:00
Bruno BELANYI f1f6198e5f Make use of 'Bitboard::is_empty' 2022-07-18 10:01:23 +02:00