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

Assign improving only once

Avoid duplicated code after recent commit "Use evaluation trend
to adjust futility margin". We initialize the improving variable
to true in the check case, which allows to avoid redundant code
in the general case.

Tested for speed by snicolet, patch seems about 0.4% faster.

No functional change.

Note: initializing the improving variable to false in the check
case was tested as a functional change, ending yellow in both STC
and LTC. This change is not included in the commit, but it is an
interesting result that could become part of a future patch about
improving or LMR. Reference of the LTC yellow test:
http://tests.stockfishchess.org/tests/view/5aa131560ebc590297cb636e
This commit is contained in:
Joost VandeVondele 2018-03-10 10:35:10 +01:00 committed by Stéphane Nicolet
parent 1093047e7d
commit 2c5dfb3122

View file

@ -654,6 +654,7 @@ namespace {
if (inCheck)
{
ss->staticEval = eval = VALUE_NONE;
improving = true;
goto moves_loop;
}
else if (ttHit)
@ -678,7 +679,6 @@ namespace {
}
improving = ss->staticEval >= (ss-2)->staticEval
/* || ss->staticEval == VALUE_NONE Already implicit in the previous condition */
||(ss-2)->staticEval == VALUE_NONE;
if (skipEarlyPruning || !pos.non_pawn_material(pos.side_to_move()))
@ -816,9 +816,6 @@ moves_loop: // When in check, search starts from here
MovePicker mp(pos, ttMove, depth, &thisThread->mainHistory, &thisThread->captureHistory, contHist, countermove, ss->killers);
value = bestValue; // Workaround a bogus 'uninitialized' warning under gcc
improving = ss->staticEval >= (ss-2)->staticEval
/* || ss->staticEval == VALUE_NONE Already implicit in the previous condition */
||(ss-2)->staticEval == VALUE_NONE;
singularExtensionNode = !rootNode
&& depth >= 8 * ONE_PLY