Handle BxN trade as good capture when history score is good
authorGünther Demetz <guenther.demetz@hotmail.com>
Sun, 5 Nov 2017 18:49:17 +0000 (19:49 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sun, 5 Nov 2017 21:05:51 +0000 (22:05 +0100)
STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 19374 W: 3499 L: 3294 D: 12581
http://tests.stockfishchess.org/tests/view/59fc23f50ebc590ccbb8a0bf

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 91030 W: 11680 L: 11274 D: 68076
http://tests.stockfishchess.org/tests/view/59fc43ad0ebc590ccbb8a0d0

Bench: 5482249

src/movepick.cpp

index 06935b0d9d13c321db0e6d373f8308bcddd7bf7b..15188712e891f041d1c29fb86071191b42135724 100644 (file)
@@ -182,6 +182,11 @@ Move MovePicker::next_move(bool skipQuiets) {
               if (pos.see_ge(move))
                   return move;
 
+              if (   type_of(pos.piece_on(to_sq(move))) == KNIGHT
+                  && type_of(pos.moved_piece(move)) == BISHOP
+                  && (cur-1)->value > 1090)
+                  return move;
+
               // Losing capture, move it to the beginning of the array
               *endBadCaptures++ = move;
           }