49705bc707
rename few macros to lowercase, add M_DPUSH move flag
2024-03-19 18:30:10 +01:00
8527c3dee1
movegen: separate all captures (easier later handling)
2024-03-18 10:21:25 +01:00
dc916f5c56
move.h: revert flags to direct bit mask
2024-03-18 09:15:16 +01:00
748953a767
move-gen: separate pawn capture from en-passant (easier later testing)
2024-03-18 09:13:51 +01:00
9c2e76442d
add a struct_group for move_do() irreversible changes
2024-03-17 17:34:21 +01:00
49302c7a60
lowercase move flags macros
2024-03-17 17:33:48 +01:00
db38b507ff
add gmon.out
2024-03-17 17:30:51 +01:00
9d40a53aea
simplify pos_next_legal()
2024-03-16 12:14:59 +01:00
260d8d34bd
move.h: simplify flags. movegen.c: add pos_next_legal()
2024-03-16 10:06:55 +01:00
037d49e4ca
move-do: copy from pre-bitboard version
2024-03-15 10:53:26 +01:00
4eb620a873
add occ param in sq_attackers()
2024-03-15 09:14:10 +01:00
92dcb1e778
fix king move in pos_is_legal()
2024-03-15 09:12:42 +01:00
c8aea61529
pos_checkers(): add occ parameter
2024-03-15 09:11:28 +01:00
b3f0dd0534
add move_str()
2024-03-15 09:10:32 +01:00
0f06ccb8db
simplify piece_details structure/functions (need to rewrite)
2024-03-15 09:08:49 +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
cc7d91ebfb
default compile-command: make testing
2024-03-15 09:03:30 +01:00
17d1dc52f9
movegen: pseudo_is_legal() and pos_legalmoves()
2024-03-12 10:45:20 +01:00
cc3754ae00
add position blockers
2024-03-12 10:44:25 +01:00
08082faed3
moves_print() and move_sort_by_sq(): use movelist_t instead of pos_t
2024-03-12 10:42:24 +01:00
6ee4cd1642
cleanup
2024-03-11 16:12:45 +01:00
b7fdcca66d
pos_check(): add adjacent kings test
2024-03-11 16:11:51 +01:00
890cb05296
add move_make_promote_capture and move_make_capture
2024-03-11 16:10:16 +01:00
301ca24783
add funcs comments and const parameters
2024-03-11 16:07:12 +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
dc6ceb3407
Makefile cleanup
2024-02-29 10:05:44 +01:00
beaa7bfcbc
movegen: start to fix early bugs (wrong masks, etc...)
2024-02-29 09:33:18 +01:00
be32bae86a
strengthen FEN parsing
2024-02-29 09:31:40 +01:00
8f0840fc2f
add functions documentation - should be done earlier !!
2024-02-29 09:31:00 +01:00
6d412e7fce
add move.c from pre-bitboard version
2024-02-29 09:27:29 +01:00
7859228f89
movegen-test: add fen test array
2024-02-29 09:19:24 +01:00
a8e3ec70f8
add square attackers fct
2024-02-29 09:18:19 +01:00
f1a081a7b6
add pawn movegen (untested)
2024-02-26 19:15:42 +01:00
ca4e274957
add in-between masks (with/without dest square. TODO: keep only one !)
2024-02-26 19:14:20 +01:00
e50d9a73e6
Makefile: cleanup
2024-02-26 19:11:46 +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
d00eab54e7
board.h: fix sq_make/sq_file
2024-02-22 09:13:12 +01:00
9c02a02c1e
fen: add fen_test()
2024-02-22 09:11:25 +01:00
4d8f69e8c9
position: raw_board_print in octal, fix mask in pos_set_sq/pos_clr_sq
2024-02-22 08:35:26 +01:00
568b39e366
add movegen draft, add king square in pos_t, BRQKN move gen (untested)
2024-02-20 21:00:45 +01:00
403e625cbe
add hyperbola-quintessence.[ch]}, rank move gen, + file/rook/queen
2024-02-15 10:15:13 +01:00
bc28a900be
update brlib
2024-02-15 10:14:17 +01:00
c73c448c0b
new board.h, sq_string()
2024-02-15 10:13:30 +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