Commit Graph

25 Commits

Author SHA1 Message Date
08ba989170 is_legal: fix check+pinned and knight check; perft-test + perft2() 2024-03-26 17:43:59 +01:00
ce2e0e8459 add forgotten changes in bitboard-switch branch (git is so... difficult) 2024-03-23 17:41:15 +01:00
856e3e52da add movedo-test 2024-03-21 07:00:20 +01:00
49302c7a60 lowercase move flags macros 2024-03-17 17:33:48 +01:00
260d8d34bd move.h: simplify flags. movegen.c: add pos_next_legal() 2024-03-16 10:06:55 +01:00
3e477f7442 movegen-test: add SF/uci promotion parsing 2024-03-15 09:07:02 +01:00
aba0113344 add piece-test 2024-03-15 09:04:44 +01:00
6ee4cd1642 cleanup 2024-03-11 16:12:45 +01:00
d81dca6e23 add sq_line array, bb_sq_aligned3, renamed sq_manh to sq_taxi 2024-03-11 16:04:45 +01:00
87e7695873 new pos/bb funcs, legal(), better castling gen, etc. [see commit details]
- new sq_pinners
- new pseudo_is_legal() (unfinished)
- improve castling pseudo move gen

- more position and lower level bitboard helper funcs:
  - pos_{_occ,between_occ,between_count,pinners}
  - bb_{rank,file,rel_rank,_sq_aligned,_sq_between)
- rename some bitboard globals
- replace bb ranks/files enums with defines (issue with clang)
  -> Need to find a way to use enum safely
- tests:
  - add common-test.h
  - new attack-test.c
2024-03-10 10:58:14 +01:00
b351d198b8 sq_attackers() + others (see dedails). Ready for move do/undo ?
- add many "const" in func parameters
- attack.c: sq_attackers()
- move print_board_raw from position.c to to board.c
- move some fen_check() tests to pos_check()
- add REL_RANK() macro. TODO: add one more for bitboards
- fen.c: more tests for FEN validity
- position.c: add pos_checkers() and pos_check()
- tests: add common-test.h (for shared FEN positions access)
2024-03-04 21:34:29 +01:00
a499893f32 add board_print, board_print_mask 2024-03-02 07:10:23 +01:00
7859228f89 movegen-test: add fen test array 2024-02-29 09:19:24 +01:00
f1a081a7b6 add pawn movegen (untested) 2024-02-26 19:15:42 +01:00
ccc0dfd2f6 temp commit for machine transfer 2024-02-22 09:37:02 +01:00
fa5c9bb8ab bitboard8_sprint -> bitboard_rank_sprint (temp, need BB+rank as input) 2024-02-22 09:29:10 +01:00
9c02a02c1e fen: add fen_test() 2024-02-22 09:11:25 +01:00
403e625cbe add hyperbola-quintessence.[ch]}, rank move gen, + file/rook/queen 2024-02-15 10:15:13 +01:00
3e828ed29b add bitboard_print_multi(), file/rank/diag/antidiag masks generation 2024-02-12 21:34:42 +01:00
d5906b1fb9 start bitboard init (see commit details)
- bitboard.c: make attacks for knight/king
- square macros (BB, BBfile, BBrank) renamed sq_make, sq_file,
  sq_rank, moved to board.h (and become temporarily inline funcs)
- different macros/defs moved to "correct place" (bitboard/board/piece):
  board.[ch]: everything related to board/square
  bitboard.[ch]: everything related to bitboards
  piece.[ch]: everything related to pieces
2024-02-11 20:47:09 +01:00
4f25c1416d re-organize defines / few bug fix 2024-02-10 09:16:59 +01:00
d6f2497bb0 rename typedefs - temp commit for computer change 2024-02-08 09:50:14 +01:00
1929d4bb1f bb migration: add util, update fen/fen-test + partial pos + piece 2024-02-07 22:08:24 +01:00
6acacb0314 Keep bitboard.c 2024-02-05 08:38:08 +01:00
01c5765888 remove -DBIN_xxx from brchess source files. parts moved to ./test (TODO) 2023-12-13 21:30:39 +01:00