0ff41c408b
add repetition detection, root position count
...
- hist.c: add hist_next() - get next entry in history
- state_t: remove plycount, clock_50 -> ply50, add phase, repcount
- pos_t: add plycount, plyroot
- state_t moved to chessdefs.h
- perft-test: split perft from do_perft (todo for perft_alt)
- position.c: add pos_repcount()
- search.c: add is_draw()
- uci: set root position (after moves), adjust history moves repcount
2024-08-04 09:37:58 +02:00
e5a9303d08
simplify pos_clear
2024-07-25 09:24:31 +02:00
30ac647fe5
update bug_on (brlib + hash.c + position.h), new alloc.[ch]
2024-07-15 08:23:11 +02:00
5401e83db8
Memory allocation: moved to alloc.[ch]
2024-07-10 07:49:44 +02:00
7ce64c3aee
rename hyperbola-quintessence files to hq
2024-07-06 19:16:47 +02:00
23051cb427
rename hyperbola functions to hq
2024-07-06 19:11:56 +02:00
8c94c6beb1
add hist_link, hist_push: remove 'move' parameter
2024-06-29 11:35:33 +02:00
bb13eae0b8
move-do: save move in state, pos-print: print last move
2024-06-28 11:44:38 +02:00
46aed01079
hash: add hash_short macro, state_s: add prev and move
2024-06-27 08:36:08 +02:00
3a6c1d11c0
rename util.h -> misc.h (2)
2024-06-23 19:22:22 +02:00
879bda850c
pos_ok, remove unused var warnings for 'release' target
2024-06-20 09:04:54 +02:00
148fef20ea
add info in pos_print, start perft TT testing
2024-06-13 10:28:32 +02:00
660d181e41
add GAMESIZE (attention: **WRONG**, as for repeat only !)
2024-06-08 20:12:19 +02:00
ec64e2e44d
replace pawn_shift_xxx with bb_pawns_attacks
2024-05-28 09:40:20 +02:00
972046351b
fen: simplify fen_check() + fix e.p. when no possible capture
2024-05-27 14:54:44 +02:00
6da0f80d46
allow bug.h multiple inclusions (w/ different BUG_ON/WARN_ON values)
2024-05-18 13:37:23 +02:00
2069d6073d
add pos_copy(); pos->king[] set at higher level
2024-05-16 07:16:17 +02:00
32ade1777f
ren macros mask->BIT/C64->U64, del pinners/checkers/blockers in state_s
2024-05-06 07:41:27 +02:00
36e1d987f3
rename second perft function, perft_test()
2024-04-17 18:43:09 +02:00
f0acdb6a66
pos_ok(): always set BUG_ON and WARN_ON
2024-04-16 12:32:37 +02:00
2b72fac45e
comments, removal useless Makefile CFLAGS, etc...
2024-04-14 09:10:31 +02:00
03da11cc9c
cleanup when using bug_on()/warn_on()
2024-04-11 10:02:49 +02:00
926dfa0765
untabify Makefile, cosmetic change in pos_set_checkers_pinners_blockers()
2024-04-10 17:12:20 +02:00
374116b1e7
simplify pos_set_checkers_pinners_blockers() (cont'd)
2024-04-10 15:59:24 +02:00
711306c92a
simplify/improve pos_set_checkers_pinners_blockers()
2024-04-10 12:54:47 +02:00
4816b4a53a
experiment: add pos_set_checkers_pinners_blockers()
2024-03-30 18:45:13 +01:00
09afd98971
fen2pos: no more pos_checkers etc... position.c: pos_check -> pos_ok (bool)
2024-03-27 12:40:16 +01:00
70d6c23c00
position add: pos_set_pinners_blockers()
2024-03-26 17:31:44 +01:00
ce2e0e8459
add forgotten changes in bitboard-switch branch (git is so... difficult)
2024-03-23 17:41:15 +01:00
51a348c1e4
add pos_cmp (as a debug check after move_{do,undo})
2024-03-21 06:58:56 +01:00
49705bc707
rename few macros to lowercase, add M_DPUSH move flag
2024-03-19 18:30:10 +01:00
9c2e76442d
add a struct_group for move_do() irreversible changes
2024-03-17 17:34:21 +01:00
c8aea61529
pos_checkers(): add occ parameter
2024-03-15 09:11:28 +01:00
cc3754ae00
add position blockers
2024-03-12 10:44:25 +01:00
b7fdcca66d
pos_check(): add adjacent kings test
2024-03-11 16:11:51 +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
8f0840fc2f
add functions documentation - should be done earlier !!
2024-02-29 09:31:00 +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
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
3798dbad4b
Set back position.c file
2024-02-05 08:38:11 +01:00
5b536df4b9
Copy position.c into temp-migration-bitboard/position.c
2024-02-05 08:38:11 +01:00
48b5420830
Add check array in position structure
2023-07-25 06:54:33 +02:00
3de87daa5a
bug fix in pos_dup()
2023-07-12 21:30:24 +02:00
ed9b9cc646
add nodes_count and moves_{generated,counted} in pos struct
2023-07-11 22:22:33 +02:00
65f1bef987
cleanup
2023-07-09 16:22:42 +02:00