Simplification to use only one counter move.

STC http://tests.stockfishchess.org/tests/view/5518dca30ebc5902160ec5d0
LLR: 2.95 (-2.94,2.94) [-3.50,0.50]
Total: 18868 W: 3638 L: 3530 D: 11700

LTC http://tests.stockfishchess.org/tests/view/5518f7ed0ebc5902160ec5d4
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 69767 W: 11019 L: 10973 D: 47775

Extracted from http://tests.stockfishchess.org/tests/view/5511028a0ebc5902160ec40b

Original patch by hxim.  All credit goes to him.

Bench: 7664249

Resolves #320
This commit is contained in:
mstembera
2015-04-03 01:16:15 +08:00
committed by Gary Linscott
parent 6c42575208
commit 6661a31541
3 changed files with 17 additions and 26 deletions
+3 -4
View File
@@ -783,10 +783,9 @@ namespace {
moves_loop: // When in check and at SpNode search starts from here
Square prevMoveSq = to_sq((ss-1)->currentMove);
Move countermoves[] = { Countermoves[pos.piece_on(prevMoveSq)][prevMoveSq].first,
Countermoves[pos.piece_on(prevMoveSq)][prevMoveSq].second };
Move countermove = Countermoves[pos.piece_on(prevMoveSq)][prevMoveSq];
MovePicker mp(pos, ttMove, depth, History, CounterMovesHistory, countermoves, ss);
MovePicker mp(pos, ttMove, depth, History, CounterMovesHistory, countermove, ss);
CheckInfo ci(pos);
value = bestValue; // Workaround a bogus 'uninitialized' warning under gcc
improving = ss->staticEval >= (ss-2)->staticEval
@@ -965,7 +964,7 @@ moves_loop: // When in check and at SpNode search starts from here
[pos.piece_on(to_sq(move))][to_sq(move)] < VALUE_ZERO))
ss->reduction += ONE_PLY;
if (move == countermoves[0] || move == countermoves[1])
if (move == countermove)
ss->reduction = std::max(DEPTH_ZERO, ss->reduction - ONE_PLY);
// Decrease reduction for moves that escape a capture