mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 09:37:16 +08:00
Fix easy re-capture case
We detect an easy move as a recapture with an high margin on the second best move. Unfortunatly the recapture detection is broken becuase we identify as a recapture any move that follows an opponent's previous capture ! This patch fix the logic to correctly detect a real re-capture. No functional change.
This commit is contained in:
@@ -442,11 +442,16 @@ namespace {
|
||||
if (Time::now() - SearchTime > (TimeMgr.available_time() * 62) / 100)
|
||||
stop = true;
|
||||
|
||||
bool recapture = pos.is_capture(RootMoves[0].pv[0])
|
||||
&& pos.captured_piece_type()
|
||||
&& SetupMoves->size()
|
||||
&& to_sq(SetupMoves->back()) == to_sq(RootMoves[0].pv[0]);
|
||||
|
||||
// Stop search early if one move seems to be much better than others
|
||||
if ( depth >= 12
|
||||
&& !stop
|
||||
&& PVSize == 1
|
||||
&& ( (bestMoveNeverChanged && pos.captured_piece_type())
|
||||
&& ( (bestMoveNeverChanged && recapture)
|
||||
|| Time::now() - SearchTime > (TimeMgr.available_time() * 40) / 100))
|
||||
{
|
||||
Value rBeta = bestValue - 2 * PawnValueMg;
|
||||
|
||||
Reference in New Issue
Block a user