Full three fold repetition detection only at root node

This commit is contained in:
Jean-Francois Romang 2012-10-25 15:57:44 +02:00
parent 5436d98fc5
commit 77c91ac1ba

View file

@ -524,7 +524,7 @@ namespace {
if (!RootNode)
{
// Step 2. Check for aborted search and immediate draw
if (Signals.stop || (PvNode?pos.is_draw<false,false>():pos.is_draw<false,true>()) || ss->ply > MAX_PLY)
if (Signals.stop || pos.is_draw<false,true>() || ss->ply > MAX_PLY)
return DrawValue[pos.side_to_move()];
// Step 3. Mate distance pruning. Even if we mate at the next move our score
@ -538,6 +538,10 @@ namespace {
if (alpha >= beta)
return alpha;
}
else
{
if(pos.is_draw<false,false>()) return DrawValue[pos.side_to_move()];
}
// Step 4. Transposition table lookup
// We don't want the score of a partial search to overwrite a previous full search