Bruno BELANYI
08ff8db0ac
Add 'Error::InvalidPosition' variant
2022-07-30 12:38:45 +02:00
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'
...
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'
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
...
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
continuous-integration/drone/push Build is passing
2022-07-18 10:01:23 +02:00