From: Marco Costalba Date: Sun, 16 Sep 2012 06:52:38 +0000 (+0200) Subject: Fix KpsK endgame X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=4b7dbb3922a0c563d74be4474b0cbdc1b00b4595 Fix KpsK endgame Broken by commit a44c5cf4f77b05a03 of 3 /12 / 2011 that was labeled "No functional change" because our 'bench' test didn't triggered that particular endgame. Indeed we need to run a specific bench on a set of endgames position when touching endgame.cpp because normal bench does not cover endgames properly. Found by MSVC 2012 code analyzer. --- diff --git a/src/endgame.cpp b/src/endgame.cpp index dbf10582..20d175ba 100644 --- a/src/endgame.cpp +++ b/src/endgame.cpp @@ -648,7 +648,7 @@ ScaleFactor Endgame::operator()(const Position& pos) const { // Does the defending king block the pawns? if ( square_distance(ksq, relative_square(strongerSide, SQ_A8)) <= 1 || ( file_of(ksq) == FILE_A - && !in_front_bb(strongerSide, ksq) & pawns)) + && !(in_front_bb(strongerSide, ksq) & pawns))) return SCALE_FACTOR_DRAW; } // Are all pawns on the 'h' file? @@ -657,7 +657,7 @@ ScaleFactor Endgame::operator()(const Position& pos) const { // Does the defending king block the pawns? if ( square_distance(ksq, relative_square(strongerSide, SQ_H8)) <= 1 || ( file_of(ksq) == FILE_H - && !in_front_bb(strongerSide, ksq) & pawns)) + && !(in_front_bb(strongerSide, ksq) & pawns))) return SCALE_FACTOR_DRAW; } return SCALE_FACTOR_NONE;