mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 16:53:09 +00:00
Fix TB after capture_stage fix
5c75c1c2fb
introduced a capture_stage() function, but TB usage needs a pure capture() function.
closes https://github.com/official-stockfish/Stockfish/pull/4428
No functional change.
This commit is contained in:
parent
70dfa141d5
commit
6ce225bb4c
2 changed files with 10 additions and 5 deletions
|
@ -125,6 +125,7 @@ public:
|
|||
// Properties of moves
|
||||
bool legal(Move m) const;
|
||||
bool pseudo_legal(const Move m) const;
|
||||
bool capture(Move m) const;
|
||||
bool capture_stage(Move m) const;
|
||||
bool gives_check(Move m) const;
|
||||
Piece moved_piece(Move m) const;
|
||||
|
@ -381,14 +382,18 @@ inline bool Position::is_chess960() const {
|
|||
return chess960;
|
||||
}
|
||||
|
||||
inline bool Position::capture(Move m) const {
|
||||
assert(is_ok(m));
|
||||
return (!empty(to_sq(m)) && type_of(m) != CASTLING)
|
||||
|| type_of(m) == EN_PASSANT;
|
||||
}
|
||||
|
||||
// returns true if a move is generated from the capture stage
|
||||
// having also queen promotions covered, i.e. consistency with the capture stage move generation
|
||||
// is needed to avoid the generation of duplicate moves.
|
||||
inline bool Position::capture_stage(Move m) const {
|
||||
assert(is_ok(m));
|
||||
return (!empty(to_sq(m)) && type_of(m) != CASTLING)
|
||||
|| (type_of(m) == PROMOTION && promotion_type(m) == QUEEN)
|
||||
|| type_of(m) == EN_PASSANT;
|
||||
return capture(m) || (type_of(m) == PROMOTION && promotion_type(m) == QUEEN);
|
||||
}
|
||||
|
||||
inline Piece Position::captured_piece() const {
|
||||
|
|
|
@ -1203,7 +1203,7 @@ WDLScore search(Position& pos, ProbeState* result) {
|
|||
|
||||
for (const Move move : moveList)
|
||||
{
|
||||
if ( !pos.capture_stage(move)
|
||||
if ( !pos.capture(move)
|
||||
&& (!CheckZeroingMoves || type_of(pos.moved_piece(move)) != PAWN))
|
||||
continue;
|
||||
|
||||
|
@ -1472,7 +1472,7 @@ int Tablebases::probe_dtz(Position& pos, ProbeState* result) {
|
|||
|
||||
for (const Move move : MoveList<LEGAL>(pos))
|
||||
{
|
||||
bool zeroing = pos.capture_stage(move) || type_of(pos.moved_piece(move)) == PAWN;
|
||||
bool zeroing = pos.capture(move) || type_of(pos.moved_piece(move)) == PAWN;
|
||||
|
||||
pos.do_move(move, st);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue