Extend checks more in losing positions
authorUri Blass <uriblass@gmail.com>
Tue, 10 Sep 2013 06:37:23 +0000 (08:37 +0200)
committerMarco Costalba <mcostalba@gmail.com>
Wed, 11 Sep 2013 07:15:47 +0000 (09:15 +0200)
Passed both short TC:
LLR: 2.98 (-2.94,2.94) [-1.50,4.50]
Total: 3974 W: 860 L: 741 D: 2373

And long TC:
LLR: 2.96 (-2.94,2.94) [0.00,6.00]
Total: 16807 W: 2917 L: 2733 D: 11157

bench: 3767999

src/search.cpp

index 4b0a9fe8b60676b96c7c5dcc9bda19f9d5bcd6b8..f64f55f0a129a4b4292891140ebd9eb1ad818af5 100644 (file)
@@ -837,7 +837,7 @@ moves_loop: // When in check and at SpNode search starts from here
           ext = ONE_PLY;
 
       else if (givesCheck && pos.see_sign(move) >= 0)
-          ext = ONE_PLY / 2;
+          ext = inCheck || ss->staticEval < VALUE_ZERO ? 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