X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=176806976bb4234105d25826a973097537984b4a;hp=a069cf404be6d012a7ac129c4386b0c3a1721586;hb=e2c0b5f99527ed3d03aab8be18ae2bb4c477d51e;hpb=47ee6d9fa4091aa05f6fedb62a2bb652b0422f08 diff --git a/src/position.cpp b/src/position.cpp index a069cf40..17680697 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -641,10 +641,10 @@ bool Position::move_is_check(Move m, const CheckInfo& ci) const { } } - // En passant capture with check? We have already handled the case + // En passant capture with check ? We have already handled the case // of direct checks and ordinary discovered check, the only case we - // need to handle is the unusual case of a discovered check through the - // captured pawn. + // need to handle is the unusual case of a discovered check through + // the captured pawn. if (move_is_ep(m)) { Square capsq = make_square(square_file(to), square_rank(from)); @@ -1307,11 +1307,11 @@ int Position::see_sign(Move m) const { Square from = move_from(m); Square to = move_to(m); - // Early return if SEE cannot be negative because capturing piece value - // is not bigger then captured one. - if ( midgame_value_of_piece_on(from) <= midgame_value_of_piece_on(to) - && type_of_piece_on(from) != KING) - return 1; + // Early return if SEE cannot be negative because captured piece value + // is not less then capturing one. Note that king moves always return + // here because king midgame value is set to 0. + if (midgame_value_of_piece_on(to) >= midgame_value_of_piece_on(from)) + return 1; return see(from, to); }