X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=a9c98626980fa56bbf5995e2c0d186f342fddef2;hp=9f9069cdf67c318264353bb73e5f9d0d317c6627;hb=e444e18d2bd75454e3bbd9e5667b2357a19e5388;hpb=321320b0814d5994640977cf96e015eba8ce22d5 diff --git a/src/position.cpp b/src/position.cpp index 9f9069cd..a9c98626 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -623,7 +623,7 @@ bool Position::pl_move_is_legal(Move m, Bitboard pinned) const { bool Position::pl_move_is_evasion(Move m, Bitboard pinned) const { - assert(is_check()); + assert(in_check()); Color us = side_to_move(); Square from = move_from(m); @@ -750,18 +750,18 @@ bool Position::move_is_legal(const Move m, Bitboard pinned) const { return false; // The move is pseudo-legal, check if it is also legal - return is_check() ? pl_move_is_evasion(m, pinned) : pl_move_is_legal(m, pinned); + return in_check() ? pl_move_is_evasion(m, pinned) : pl_move_is_legal(m, pinned); } -/// Position::move_is_check() tests whether a pseudo-legal move is a check +/// Position::move_gives_check() tests whether a pseudo-legal move is a check -bool Position::move_is_check(Move m) const { +bool Position::move_gives_check(Move m) const { - return move_is_check(m, CheckInfo(*this)); + return move_gives_check(m, CheckInfo(*this)); } -bool Position::move_is_check(Move m, const CheckInfo& ci) const { +bool Position::move_gives_check(Move m, const CheckInfo& ci) const { assert(is_ok()); assert(move_is_ok(m)); @@ -883,7 +883,7 @@ void Position::do_setup_move(Move m) { void Position::do_move(Move m, StateInfo& newSt) { CheckInfo ci(*this); - do_move(m, newSt, ci, move_is_check(m, ci)); + do_move(m, newSt, ci, move_gives_check(m, ci)); } void Position::do_move(Move m, StateInfo& newSt, const CheckInfo& ci, bool moveIsCheck) { @@ -1430,7 +1430,7 @@ void Position::undo_castle_move(Move m) { void Position::do_null_move(StateInfo& backupSt) { assert(is_ok()); - assert(!is_check()); + assert(!in_check()); // Back up the information necessary to undo the null move to the supplied // StateInfo object. @@ -1467,7 +1467,7 @@ void Position::do_null_move(StateInfo& backupSt) { void Position::undo_null_move() { assert(is_ok()); - assert(!is_check()); + assert(!in_check()); // Restore information from the our backup StateInfo object StateInfo* backupSt = st->previous; @@ -1490,12 +1490,6 @@ void Position::undo_null_move() { /// move, and one which takes a 'from' and a 'to' square. The function does /// not yet understand promotions captures. -int Position::see(Move m) const { - - assert(move_is_ok(m)); - return see(move_from(m), move_to(m)); -} - int Position::see_sign(Move m) const { assert(move_is_ok(m)); @@ -1509,25 +1503,22 @@ int Position::see_sign(Move m) const { if (midgame_value_of_piece_on(to) >= midgame_value_of_piece_on(from)) return 1; - return see(from, to); + return see(m); } -int Position::see(Square from, Square to) const { +int Position::see(Move m) const { + Square from, to; Bitboard occupied, attackers, stmAttackers, b; int swapList[32], slIndex = 1; PieceType capturedType, pt; Color stm; - assert(square_is_ok(from)); - assert(square_is_ok(to)); + assert(move_is_ok(m)); + from = move_from(m); + to = move_to(m); capturedType = type_of_piece_on(to); - - // King cannot be recaptured - if (capturedType == KING) - return seeValues[capturedType]; - occupied = occupied_squares(); // Handle en passant moves @@ -1798,7 +1789,7 @@ bool Position::is_draw() const { bool Position::is_mate() const { MoveStack moves[MAX_MOVES]; - return is_check() && generate(*this, moves) == moves; + return in_check() && generate(*this, moves) == moves; }