mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 17:19:36 +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
|
if (pos.move_gives_check(m, CheckInfo(pos)))
|
||||||
// because we need to test for a mate after the move is done.
|
{
|
||||||
StateInfo st;
|
StateInfo st;
|
||||||
pos.do_move(m, st);
|
pos.do_move(m, st);
|
||||||
if (pos.in_check())
|
san += MoveList<MV_LEGAL>(pos).size() ? "+" : "#";
|
||||||
san += pos.is_mate() ? "#" : "+";
|
pos.undo_move(m);
|
||||||
pos.undo_move(m);
|
}
|
||||||
|
|
||||||
return san;
|
return san;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1499,7 +1499,7 @@ bool Position::is_draw() const {
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// Draw by the 50 moves rule?
|
// 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;
|
return true;
|
||||||
|
|
||||||
// Draw by repetition?
|
// Draw by repetition?
|
||||||
|
@ -1531,15 +1531,6 @@ template bool Position::is_draw<false>() const;
|
||||||
template bool Position::is_draw<true>() 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
|
/// 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 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
|
/// 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;
|
Value non_pawn_material(Color c) const;
|
||||||
Score pst_delta(Piece piece, Square from, Square to) 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
|
// Other properties of the position
|
||||||
|
template<bool SkipRepetition> bool is_draw() const;
|
||||||
|
int startpos_ply_counter() const;
|
||||||
bool opposite_colored_bishops() const;
|
bool opposite_colored_bishops() const;
|
||||||
bool has_pawn_on_7th(Color c) const;
|
bool has_pawn_on_7th(Color c) const;
|
||||||
bool is_chess960() const;
|
bool is_chess960() const;
|
||||||
|
|
Loading…
Add table
Reference in a new issue