8bf4262e11
position: use XOR in square clr/set, for castling flags to 8 bits
2024-09-11 08:14:55 +02:00
7e65fbc205
change some bit macros, fix pst_init bug (thx gcc!), TT mask 64 bits
2024-09-04 20:07:19 +02:00
2cd1289cd6
misc.c -> util.c, add str_token()
...
move util funtions declarations to util.h
2024-07-27 14:02:07 +02:00
98c54553d0
Combo changes
...
- move eval_material to eval-simple.c
- move phase_t to eval.h
- init.c: add eval init
- piece.h: add piece_midval/piece_endval
- fen.c: add phase calculation
- eval-simple: fix calc_phase
2024-07-22 18:56:54 +02:00
14a2cae072
eval-simple.c: game phases, multiple PST
2024-07-21 18:10:33 +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
4d1870ffb3
eval_t: s16 + add in pos_t + remove useless opening pieces values
2024-06-30 09:59:18 +02:00
c5a1936e3b
UCI moves && games states list
2024-06-27 10:11:24 +02:00
da489bad65
update include syntax
2024-06-25 13:07:33 +02:00
8be03c6230
rename TT funcs to TT_xxx()
2024-06-12 07:50:19 +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
86f8184c56
misc.c: init_all()
2024-05-15 18:34:50 +02:00
7baf66f1b6
add init.c, force BUG_ON in safe_malloc()
2024-05-14 11:39:37 +02:00
32ade1777f
ren macros mask->BIT/C64->U64, del pinners/checkers/blockers in state_s
2024-05-06 07:41:27 +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
ad8a9609ce
misc.c: add a few basic clock functions
2024-03-28 08:33:27 +01:00
51c35e21f4
castling: lowercase macros, nove-{do,undo}: full (untested) version
2024-03-20 10:00:07 +01:00
49705bc707
rename few macros to lowercase, add M_DPUSH move flag
2024-03-19 18:30:10 +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
6d412e7fce
add move.c from pre-bitboard version
2024-02-29 09:27:29 +01:00
ca4e274957
add in-between masks (with/without dest square. TODO: keep only one !)
2024-02-26 19:14:20 +01:00
fa5c9bb8ab
bitboard8_sprint -> bitboard_rank_sprint (temp, need BB+rank as input)
2024-02-22 09:29:10 +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
bdd88e8511
Set back chessdefs.h file
2024-02-05 08:38:09 +01:00
051dbc3348
Copy chessdefs.h into temp-migration-bitboard/chessdefs.h
2024-02-05 08:38:09 +01:00
e49e9b8f9d
Start bitboard migration... Long long cries coming
2024-02-04 19:16:10 +01:00
1aa419392e
adapt to brlib 0.3
2024-01-06 19:54:22 +01:00
af1f5db507
add BB flip_V and FLIP_H macros
2023-07-11 22:13:06 +02:00
d9f03acb02
fix piece color in move_do
2023-07-10 13:17:26 +02:00
4bca805404
add move_t forward decl.
2023-07-09 15:42:41 +02:00
aa7cb11056
add FILE* output
2023-07-02 11:36:04 +02:00
373a73cb52
eval_t is now s32
2023-06-25 15:55:12 +02:00
1154f141c9
start bitboard integration
2023-06-22 16:08:57 +02:00
aaa9cb8690
switch to s8...s64 and u8...u64 integer notation
2021-11-20 19:22:57 +01:00
05a64ec742
simplify 0x88 macros / remove redundant chessdefs.h equivalent ones
2021-11-20 16:15:45 +01:00
6b2c1702f6
revert to color at LSB, to avoid easy mistakes
...
close #3
2021-11-19 12:15:53 +01:00
bf520b6c71
fuckulated movegenerator into a good coregenerator
...
Need to test all edge cases for new position after move (castle/en passant/promotion).
En passant crashes, likely easy fix.
castle/promotion new position untested.
Yoda: A feature branch absolutely necessary was.
Me: With that Truth I agree.
2021-11-15 19:36:19 +01:00
bd88da013c
pos: added mobility. move_gen: hangle castling
2021-11-12 11:00:59 +01:00
7c98f0d4c5
piece_t change, pack piece_details, conversion piece: mask<=>number
2021-11-10 15:54:13 +01:00
5623dc78a5
dummy eval func (pieces + square control), bit ops, shorter int types
2021-11-09 20:57:18 +01:00
d38e2f4543
Occupancy & square control bitboards + continue printf->logX
2021-11-08 08:38:38 +01:00
c7faa88bfa
structures forward declarations
2021-11-04 13:06:24 +01:00
2ae81fec99
reverse SQUARE nibbles to match SQ88 (now redundant macros)
2021-10-31 08:28:43 +01:00