Removes all endgame related code. It didn't really do anything anyways.
Clamps the static eval range to [-2048, 2047] (12 bits)
Re-scheme the moves to fit into 20 bits. This change had no impact on the engine.
Combining these three patches, I'm able to store the move and static eval in the TT in a singular int32_t, allowing a 10 byte TT entry. This can be used with a 2 byte padding with 3 entries to create a 32 byte bucket, increasing the # of TT entries by 50%.
Bench: 3680773
This patch does three things:
Combining these three patches, I'm able to store the move and static eval in the TT in a singular
int32_t
, allowing a 10 byte TT entry. This can be used with a 2 byte padding with 3 entries to create a 32 byte bucket, increasing the # of TT entries by 50%.High Hash Pressure Tests
ELO | 4.88 +- 3.30 (95%) SPRT | 6.0+0.06s Threads=1 Hash=2MB LLR | 2.95 (-2.94, 2.94) [0.00, 3.00] GAMES | N: 20928 W: 5314 L: 5020 D: 10594 http://chess.grantnet.us/test/33940/
ELO | 6.47 +- 3.88 (95%) SPRT | 30.0+0.30s Threads=1 Hash=8MB LLR | 2.97 (-2.94, 2.94) [0.00, 3.00] GAMES | N: 14552 W: 3580 L: 3309 D: 7663 http://chess.grantnet.us/test/33943/
ELO | 10.21 +- 5.11 (95%) SPRT | 4.0+0.04s Threads=8 Hash=8MB LLR | 2.96 (-2.94, 2.94) [0.00, 3.00] GAMES | N: 8650 W: 2241 L: 1987 D: 4422 http://chess.grantnet.us/test/33945/
No-Adjudication Verification
Elo | 1.66 +- 2.82 (95%) SPRT | 8.0+0.08s Threads=1 Hash=8MB LLR | 2.94 (-2.25, 2.89) [-2.50, 0.50] Games | N: 27912 W: 6751 L: 6618 D: 14543 Penta | [106, 3140, 7336, 3263, 111]