Commit graph

75 commits

Author SHA1 Message Date
8102b08cf0 Add 'CastleRights::with_{king,queen}_side' 2022-07-28 20:28:45 +02:00
e7e5927902 Add 'Move' 2022-07-28 20:28:45 +02:00
80e3ace8fc Add '*Assign' operators to 'Bitboard' 2022-07-27 23:36:54 +02:00
02d48fe526 Remove all useless 'allow(unused)' 2022-07-27 23:36:54 +02:00
915244b238 Add 'rerun-if-changed' directives to build script 2022-07-27 23:36:54 +02:00
d2c61a81b5 Make use of generated move tables 2022-07-27 23:36:54 +02:00
bd43535192 Move naive move generation into sub-module 2022-07-27 23:36:53 +02:00
8289204e4b Generate magic tables with build script 2022-07-27 23:36:53 +02:00
d2eda07036 Make all modules at least 'pub(crate)' 2022-07-27 23:36:53 +02:00
0222ec4c2d Add 'Color::iter' 2022-07-27 23:36:53 +02:00
d97e7d646e Move 'Magic' into 'seer::movegen::magic' 2022-07-27 23:36:53 +02:00
7dbe48ad23 Add '# Safety' section to 'unsafe fn' doc 2022-07-25 16:42:46 +02:00
2eb7e4c8ef Allow some clippy warnings 2022-07-25 16:42:46 +02:00
1a0aa5fddb Remove superfluous 'format!' call 2022-07-25 16:42:46 +02:00
a04b1f3a42 Add magic bitboard generation 2022-07-25 16:42:46 +02:00
3f00c6d1fc Make 'Magic' fields 'pub(crate)' 2022-07-25 16:42:46 +02:00
5bee69c38e Add 'flake check' stage to CI
Now that the 'pre-commit' is in another stage, add this one back in.
2022-07-25 16:42:46 +02:00
ae1c3322d5 Remove 'pre-commit' check from flake
Since trying to run it results into a failure due to 'clippy' trying to
fetch the network inside the build sandbox, remove it from the 'checks'
for now, but do keep it around for its 'shellHook'.
2022-07-25 16:41:27 +02:00
c8d7c17711 Fix pre-commit check in CI
Now that we have actual dependencies, we need to run 'pre-commit run'
outside of the build sandbox.
2022-07-25 16:36:44 +02:00
7a120cee83 Add 'random' dependency 2022-07-24 16:34:12 +02:00
acbbfc7c8b Add magic mask generation 2022-07-24 16:34:12 +02:00
6b0563b1bd Add 'Magic' type 2022-07-24 16:34:12 +02:00
847e18dac1 Add naive pawn move generation 2022-07-24 16:34:12 +02:00
dbe3539a66 Add naive rook move generation 2022-07-22 10:37:12 +02:00
5101d8c285 Add naive bishop move generation 2022-07-22 10:37:12 +02:00
76f3c41110 Add naive knight move generation 2022-07-22 10:37:12 +02:00
8428ac0028 Add naive king move generation 2022-07-22 10:37:12 +02:00
e3ea602bb9 Remove spurious links in 'Square' documentation 2022-07-22 10:37:12 +02:00
8fdbdd1f61 Remove spurious links in 'Bitboard' documentation 2022-07-22 10:36:59 +02:00
fa68be533a Add 'Bitboard::iter_powerset' 2022-07-22 10:36:59 +02:00
2b9b637ab5 Add 'Piece' enum 2022-07-22 10:36:59 +02:00
337b8f61f4 Add 'NUM_VARIANTS' constant to all 'board' enums 2022-07-22 10:36:59 +02:00
2c140d0481 Consistently use 'Self' type in 'impl' blocks 2022-07-22 10:36:59 +02:00
3f4c23321f Fix typo in 'board::Color' documentation 2022-07-22 10:36:59 +02:00
500e6fd22f Add 'Color::slide_board_with_blockers' 2022-07-22 10:36:59 +02:00
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
7c8dce8f49 Add 'Color::{forward,backward}_direction' 2022-07-18 17:37:24 +02:00
aa3b464bb8 Add 'CastleRights::unmoved_rooks'
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-18 13:50:23 +02:00
c5949fb01e Add 'CastleRights::without_{king,queen}_side' 2022-07-18 13:38:52 +02:00
562182d26b Add 'CastleRights::has_{king,queen}_side' 2022-07-18 13:28:23 +02:00
63c5d2dc34 Add 'CastleRights' enum 2022-07-18 13:27:03 +02:00
e0c667d090 Add 'Color' enum 2022-07-18 13:22:04 +02:00
3a6c4113fc Rename 'board::direction{s,}' 2022-07-18 13:11:37 +02:00
fcf309fad4 Fix 'cargo clippy' launched by hand
All checks were successful
continuous-integration/drone/push Build is passing
Mis-matching 'rustc' versions lead to errors.
2022-07-18 11:50:08 +02:00
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
ca4603ff02 Add 'static_assert' macro 2022-07-18 11:04:52 +02:00
d132e3779e Enable 'doCheck' in nix package 2022-07-18 10:04:47 +02:00
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
f1f6198e5f Make use of 'Bitboard::is_empty' 2022-07-18 10:01:23 +02:00
057b383f8c Add 'Bitboard::is_empty' 2022-07-18 00:33:24 +02:00