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

Don't clear EasyMove in search()

EasyMove is cleared after every iteration of the
search if the 3rd move in the PV of the main thread
changes from the previous iteration. Therefore,
clearing EasyMove during a search iteration may be
excessive. The tests show that this is indeed unnecessary.
In the new version the EasyMove variable is used only in
the Thread::search function.

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 47719 W: 8438 L: 8362 D: 30919

LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 122841 W: 15448 L: 15457 D: 91936

bench: 5468995
This commit is contained in:
Aram Tumanian 2016-12-21 13:40:55 +02:00 committed by Marco Costalba
parent 881a9dfb0a
commit b7b9d7c9c7

View file

@ -1074,13 +1074,6 @@ moves_loop: // When in check search starts from here
if (value > alpha)
{
// If there is an easy move for this position, clear it if unstable
if ( PvNode
&& thisThread == Threads.main()
&& EasyMove.get(pos.key())
&& (move != EasyMove.get(pos.key()) || moveCount > 1))
EasyMove.clear();
bestMove = move;
if (PvNode && !rootNode) // Update pv even in fail-high case