Unify extensions between PV and not PV nodes
and remove all but check extensions.
This is a simplification so tested at fixed number
of games where proved to not regress.
About 45k games at 15+0.05
ELO: 1.23 +-2.0 (95%) LOS: 88.5%
Total: 45643 W: 9107 L: 8946 D: 27590
About 45k games at 60+0.05
ELO: 1.07 +-1.8 (95%) LOS: 87.8%
Total: 46786 W: 7728 L: 7584 D: 31474
bench:
3172206
|| pos.is_passed_pawn_push(move)
|| type_of(move) == CASTLE;
- // Step 12. Extend checks and, in PV nodes, also dangerous moves
- if (PvNode && dangerous)
+ // Step 12. Extend checks
+ if (givesCheck && pos.see_sign(move) >= 0)
ext = ONE_PLY;
- else if (givesCheck && pos.see_sign(move) >= 0)
- ext = inCheck || ss->staticEval <= alpha ? ONE_PLY : ONE_PLY / 2;
-
// Singular extension search. If all moves but one fail low on a search of
// (alpha-s, beta-s), and just one fails high on (alpha, beta), then that move
// is singular and should be extended. To verify this we do a reduced search