From 8f7d36a85dda6e6611d1ee66ceb69949feb8513e Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Tue, 18 Oct 2011 12:24:47 +0200 Subject: [PATCH] Better document mate and stalemate detection In particular add that we can have an harmless false positive in case StopRequest or thread.cutoff_occurred() are set. Reported by David Lee. No functional change. Signed-off-by: Marco Costalba --- src/search.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index c163e8ea..438a01be 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1244,9 +1244,11 @@ split_point_start: // At split points actual search starts from here } // Step 20. Check for mate and stalemate - // All legal moves have been searched and if there are - // no legal moves, it must be mate or stalemate. - // If one move was excluded return fail low score. + // All legal moves have been searched and if there are no legal moves, it + // must be mate or stalemate. Note that we can have a false positive in + // case of StopRequest or thread.cutoff_occurred() are set, but this is + // harmless because return value is discarded anyhow in the parent nodes. + // If we are in a singular extension search then return a fail low score. if (!SpNode && !moveCount) return excludedMove ? oldAlpha : inCheck ? value_mated_in(ss->ply) : VALUE_DRAW; -- 2.39.2