X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fposition.cpp;h=5a42792eb8a97bc105883a0436cf6cc42f903de5;hb=4e151f7e0d70b9a61ac5adba269a80555133cb73;hp=abe75807e2869044b05aad7b1cdfd696c31594bf;hpb=7c267587fc7f454182b4d527607bcf8fdbd8c41c;p=stockfish diff --git a/src/position.cpp b/src/position.cpp index abe75807..5a42792e 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -599,19 +599,17 @@ bool Position::move_is_check(Move m, Bitboard dcCandidates) const { case BISHOP: return (dcCandidates && bit_is_set(dcCandidates, from)) - || ( direction_between_squares(ksq, to) != DIR_NONE - && bit_is_set(piece_attacks(ksq), to)); + || (direction_is_diagonal(ksq, to) && bit_is_set(piece_attacks(ksq), to)); case ROOK: return (dcCandidates && bit_is_set(dcCandidates, from)) - || ( direction_between_squares(ksq, to) != DIR_NONE - && bit_is_set(piece_attacks(ksq), to)); + || (direction_is_straight(ksq, to) && bit_is_set(piece_attacks(ksq), to)); case QUEEN: // Discovered checks are impossible! assert(!bit_is_set(dcCandidates, from)); - return ( direction_between_squares(ksq, to) != DIR_NONE - && bit_is_set(piece_attacks(ksq), to)); + return ( (direction_is_straight(ksq, to) && bit_is_set(piece_attacks(ksq), to)) + || (direction_is_diagonal(ksq, to) && bit_is_set(piece_attacks(ksq), to))); case KING: // Discovered check? @@ -651,20 +649,6 @@ bool Position::move_is_check(Move m, Bitboard dcCandidates) const { } -/// Position::move_is_capture() tests whether a move from the current -/// position is a capture. Move must not be MOVE_NONE. - -bool Position::move_is_capture(Move m) const { - - assert(m != MOVE_NONE); - - return ( !square_is_empty(move_to(m)) - && (color_of_piece_on(move_to(m)) != color_of_piece_on(move_from(m))) - ) - || move_is_ep(m); -} - - /// Position::update_checkers() udpates chekers info given the move. It is called /// in do_move() and is faster then find_checkers().