mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 09:13:08 +00:00
Retire is_mate()
No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
bede30e7a6
commit
c19ea4b000
3 changed files with 10 additions and 24 deletions
14
src/move.cpp
14
src/move.cpp
|
@ -147,13 +147,13 @@ const string move_to_san(Position& pos, Move m) {
|
|||
}
|
||||
}
|
||||
|
||||
// The move gives check? We don't use pos.move_gives_check() here
|
||||
// because we need to test for a mate after the move is done.
|
||||
StateInfo st;
|
||||
pos.do_move(m, st);
|
||||
if (pos.in_check())
|
||||
san += pos.is_mate() ? "#" : "+";
|
||||
pos.undo_move(m);
|
||||
if (pos.move_gives_check(m, CheckInfo(pos)))
|
||||
{
|
||||
StateInfo st;
|
||||
pos.do_move(m, st);
|
||||
san += MoveList<MV_LEGAL>(pos).size() ? "+" : "#";
|
||||
pos.undo_move(m);
|
||||
}
|
||||
|
||||
return san;
|
||||
}
|
||||
|
|
|
@ -1499,7 +1499,7 @@ bool Position::is_draw() const {
|
|||
return true;
|
||||
|
||||
// Draw by the 50 moves rule?
|
||||
if (st->rule50 > 99 && !is_mate())
|
||||
if (st->rule50 > 99 && (!in_check() || MoveList<MV_LEGAL>(*this).size()))
|
||||
return true;
|
||||
|
||||
// Draw by repetition?
|
||||
|
@ -1531,15 +1531,6 @@ template bool Position::is_draw<false>() const;
|
|||
template bool Position::is_draw<true>() const;
|
||||
|
||||
|
||||
/// Position::is_mate() returns true or false depending on whether the
|
||||
/// side to move is checkmated.
|
||||
|
||||
bool Position::is_mate() const {
|
||||
|
||||
return in_check() && !MoveList<MV_LEGAL>(*this).size();
|
||||
}
|
||||
|
||||
|
||||
/// Position::init() is a static member function which initializes at startup
|
||||
/// the various arrays used to compute hash keys and the piece square tables.
|
||||
/// The latter is a two-step operation: First, the white halves of the tables
|
||||
|
|
|
@ -185,14 +185,9 @@ public:
|
|||
Value non_pawn_material(Color c) const;
|
||||
Score pst_delta(Piece piece, Square from, Square to) const;
|
||||
|
||||
// Game termination checks
|
||||
bool is_mate() const;
|
||||
template<bool SkipRepetition> bool is_draw() const;
|
||||
|
||||
// Plies from start position to the beginning of search
|
||||
int startpos_ply_counter() const;
|
||||
|
||||
// Other properties of the position
|
||||
template<bool SkipRepetition> bool is_draw() const;
|
||||
int startpos_ply_counter() const;
|
||||
bool opposite_colored_bishops() const;
|
||||
bool has_pawn_on_7th(Color c) const;
|
||||
bool is_chess960() const;
|
||||
|
|
Loading…
Add table
Reference in a new issue