X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fsearch.cpp;h=252b4299239e5e039e3bb90a4ba04ed0cef5b49d;hb=2f7723fd44d5184c205d31ac1ac5199359afb0d3;hp=75b6bd0caefd42ebf5f4c2c7bced970b88d66074;hpb=1cc44bcaaecf254063138f801271629a81566ee4;p=stockfish diff --git a/src/search.cpp b/src/search.cpp index 75b6bd0c..252b4299 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1249,14 +1249,7 @@ namespace { pos.undo_null_move(); - if (value_is_mate(nullValue)) - { - if (nullValue == value_mated_in(ply + 2)) - mateThreat = true; - - /* Do not return unproven mates */ - } - else if (nullValue >= beta) + if (nullValue >= beta) { if (depth < 6 * OnePly) return beta; @@ -1272,6 +1265,9 @@ namespace { // move which was reduced. If a connection is found, return a fail // low score (which will cause the reduced move to fail high in the // parent node, which will trigger a re-search with full depth). + if (nullValue == value_mated_in(ply + 2)) + mateThreat = true; + ss[ply].threatMove = ss[ply + 1].currentMove; if ( depth < ThreatDepth && ss[ply - 1].reduction @@ -2202,16 +2198,19 @@ namespace { assert(m != MOVE_NONE); Depth result = Depth(0); - *dangerous = check || singleReply || mateThreat; + *dangerous = check | singleReply | mateThreat; - if (check) - result += CheckExtension[pvNode]; + if (*dangerous) + { + if (check) + result += CheckExtension[pvNode]; - if (singleReply) - result += SingleReplyExtension[pvNode]; + if (singleReply) + result += SingleReplyExtension[pvNode]; - if (mateThreat) - result += MateThreatExtension[pvNode]; + if (mateThreat) + result += MateThreatExtension[pvNode]; + } if (pos.type_of_piece_on(move_from(m)) == PAWN) {