Skip to content

Commit

Permalink
Set the 'Problem' variable only at ply == 1
Browse files Browse the repository at this point in the history
Bug fix merged from Glaurung 2.2 for search_pv()

Added the same fix also to sp_search_pv() where
was missing.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
  • Loading branch information
mcostalba committed Dec 22, 2008
1 parent 23490bd commit 3fafc97
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions src/search.cpp
Expand Up @@ -1073,7 +1073,9 @@ namespace {
// If we are at ply 1, and we are searching the first root move at
// ply 0, set the 'Problem' variable if the score has dropped a lot
// (from the computer's point of view) since the previous iteration:
if (Iteration >= 2 && -value <= ValueByIteration[Iteration-1] - ProblemMargin)
if ( ply == 1
&& Iteration >= 2
&& -value <= ValueByIteration[Iteration-1] - ProblemMargin)
Problem = true;
}

Expand Down Expand Up @@ -1775,8 +1777,10 @@ namespace {
}
// If we are at ply 1, and we are searching the first root move at
// ply 0, set the 'Problem' variable if the score has dropped a lot
// (from the computer's point of view) since the previous iteration:
if (Iteration >= 2 && -value <= ValueByIteration[Iteration-1] - ProblemMargin)
// (from the computer's point of view) since the previous iteration.
if ( sp->ply == 1
&& Iteration >= 2
&& -value <= ValueByIteration[Iteration-1] - ProblemMargin)
Problem = true;
}
lock_release(&(sp->lock));
Expand All @@ -1785,7 +1789,7 @@ namespace {
lock_grab(&(sp->lock));

// If this is the master thread and we have been asked to stop because of
// a beta cutoff higher up in the tree, stop all slave threads:
// a beta cutoff higher up in the tree, stop all slave threads.
if (sp->master == threadID && thread_should_stop(threadID))
for (int i = 0; i < ActiveThreads; i++)
if (sp->slaves[i])
Expand Down

0 comments on commit 3fafc97

Please sign in to comment.