1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 08:43:09 +00:00

Get correct excluded moves for split nodes

Tested setting FakeSplit to true and running

./stockfish bench 128 2

There is a different signature with and without
the patch so it affects functionality but
only in SMP case.

bench: 8331357
This commit is contained in:
Hongzhi Cheng 2013-11-18 16:41:19 +01:00 committed by Marco Costalba
parent c376ffce0f
commit 691ed425ba

View file

@ -499,6 +499,7 @@ namespace {
// Step 1. Initialize node
Thread* thisThread = pos.this_thread();
inCheck = pos.checkers();
excludedMove = ss->excludedMove;
if (SpNode)
{
@ -507,7 +508,7 @@ namespace {
threatMove = splitPoint->threatMove;
bestValue = splitPoint->bestValue;
tte = NULL;
ttMove = excludedMove = MOVE_NONE;
ttMove = MOVE_NONE;
ttValue = VALUE_NONE;
assert(splitPoint->bestValue > -VALUE_INFINITE && splitPoint->moveCount > 0);
@ -547,7 +548,6 @@ namespace {
// Step 4. Transposition table lookup
// We don't want the score of a partial search to overwrite a previous full search
// TT value, so we use a different position key in case of an excluded move.
excludedMove = ss->excludedMove;
posKey = excludedMove ? pos.exclusion_key() : pos.key();
tte = TT.probe(posKey);
ttMove = RootNode ? RootMoves[PVIdx].pv[0] : tte ? tte->move() : MOVE_NONE;