Commit Graph

63 Commits

Author SHA1 Message Date
8483ffa101 cleanup 2024-07-05 08:23:16 +02:00
a8f7bd12b8 add tricky FEN from talkchess 2024-07-03 21:13:15 +02:00
73d09ec37f perft: fix divide (untested for ages!). perft-test: SF uses divide 2024-07-03 21:10:41 +02:00
91abc3e26d convert piece_t, square_t etc. to u8 (no more typed enum. See C23 ?). 2024-07-03 08:49:54 +02:00
44f604abac cleanup 2024-07-01 14:06:51 +02:00
b8f0f6a120 remove MOVE_NO_MOVE (use only MOVE_NONE) 2024-06-28 11:43:52 +02:00
5cb90f5396 remove move-test 2024-06-25 13:16:47 +02:00
f4280dfa13 perft-test: add error and skipped counts 2024-06-24 09:01:55 +02:00
879bda850c pos_ok, remove unused var warnings for 'release' target 2024-06-20 09:04:54 +02:00
242b501404 cleanup 2024-06-20 05:36:42 +02:00
840202dc0e perft-test.c/common-test.h: add sentinel for temp tests / TT stats 2024-06-17 07:39:13 +02:00
148fef20ea add info in pos_print, start perft TT testing 2024-06-13 10:28:32 +02:00
8be03c6230 rename TT funcs to TT_xxx() 2024-06-12 07:50:19 +02:00
ebf01bc7db perft_test -> perft, perf -> perft_alt move2 -> move, move -> move_alt 2024-06-09 22:15:20 +02:00
5a2cdfca56 perft-test: add SF ucinewgame / isready + check sync 2024-06-08 20:10:17 +02:00
431baa43d4 cleanup 2024-05-30 10:47:02 +02:00
972046351b fen: simplify fen_check() + fix e.p. when no possible capture 2024-05-27 14:54:44 +02:00
f657f8498a perft-test: output also SF perf 2024-05-16 09:07:15 +02:00
239498bc2a cleanup 2024-05-16 07:29:02 +02:00
d1cb1f3c2c perft-test: re-use pos 2024-05-16 07:27:35 +02:00
86f8184c56 misc.c: init_all() 2024-05-15 18:34:50 +02:00
fec1dc68b5 fen-test: fix total stats when total time is 0 (like depth 1 or 2) 2024-05-06 07:45:32 +02:00
c710da4bf9 move_do2: save/restore state inside func; perft: add silent option 2024-04-18 09:54:58 +02:00
36e1d987f3 rename second perft function, perft_test() 2024-04-17 18:43:09 +02:00
2505217c70 rename pos_all_legal() to pos_legal_dup(), new pos_legal() 2024-04-17 09:13:21 +02:00
8b3202fac0 add CFLAGS -Wshadow and -funroll-loops, fix related common-test.h 2024-04-17 08:21:20 +02:00
473cc8683e perf-test: add command-line options, optional SF's perft compare 2024-04-16 12:33:11 +02:00
f0acdb6a66 pos_ok(): always set BUG_ON and WARN_ON 2024-04-16 12:32:37 +02:00
374116b1e7 simplify pos_set_checkers_pinners_blockers() (cont'd) 2024-04-10 15:59:24 +02:00
660722fadc cleanup 2024-04-10 12:53:31 +02:00
f2ce20a504 add bb_pawn_attacks[][], bb_shift() 2024-04-09 08:10:53 +02:00
027aa2c132 bb: bb_{first_bb,next,multiple{}, chessdefs: relative sq diffs 2024-04-04 10:03:43 +02:00
afecbeb955 movegen-test: add set_checkers_pinners_blockers call 2024-04-02 20:40:44 +02:00
4816b4a53a experiment: add pos_set_checkers_pinners_blockers() 2024-03-30 18:45:13 +01:00
96744cea20 perft-test: option to run perft/perft2/both 2024-03-29 10:00:01 +01:00
ad8a9609ce misc.c: add a few basic clock functions 2024-03-28 08:33:27 +01:00
26b9a5b58a brchess func calls changes, always run perft() & perft2() 2024-03-27 12:53:42 +01:00
edcc87be5a a few more perft debug tests 2024-03-27 12:41:38 +01:00
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