mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 01:03: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
|
// Properties of moves
|
||||||
bool legal(Move m) const;
|
bool legal(Move m) const;
|
||||||
bool pseudo_legal(const Move m) const;
|
bool pseudo_legal(const Move m) const;
|
||||||
|
bool capture(Move m) const;
|
||||||
bool capture_stage(Move m) const;
|
bool capture_stage(Move m) const;
|
||||||
bool gives_check(Move m) const;
|
bool gives_check(Move m) const;
|
||||||
Piece moved_piece(Move m) const;
|
Piece moved_piece(Move m) const;
|
||||||
|
@ -381,14 +382,18 @@ inline bool Position::is_chess960() const {
|
||||||
return chess960;
|
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
|
// 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
|
// having also queen promotions covered, i.e. consistency with the capture stage move generation
|
||||||
// is needed to avoid the generation of duplicate moves.
|
// is needed to avoid the generation of duplicate moves.
|
||||||
inline bool Position::capture_stage(Move m) const {
|
inline bool Position::capture_stage(Move m) const {
|
||||||
assert(is_ok(m));
|
assert(is_ok(m));
|
||||||
return (!empty(to_sq(m)) && type_of(m) != CASTLING)
|
return capture(m) || (type_of(m) == PROMOTION && promotion_type(m) == QUEEN);
|
||||||
|| (type_of(m) == PROMOTION && promotion_type(m) == QUEEN)
|
|
||||||
|| type_of(m) == EN_PASSANT;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline Piece Position::captured_piece() const {
|
inline Piece Position::captured_piece() const {
|
||||||
|
|
|
@ -1203,7 +1203,7 @@ WDLScore search(Position& pos, ProbeState* result) {
|
||||||
|
|
||||||
for (const Move move : moveList)
|
for (const Move move : moveList)
|
||||||
{
|
{
|
||||||
if ( !pos.capture_stage(move)
|
if ( !pos.capture(move)
|
||||||
&& (!CheckZeroingMoves || type_of(pos.moved_piece(move)) != PAWN))
|
&& (!CheckZeroingMoves || type_of(pos.moved_piece(move)) != PAWN))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -1472,7 +1472,7 @@ int Tablebases::probe_dtz(Position& pos, ProbeState* result) {
|
||||||
|
|
||||||
for (const Move move : MoveList<LEGAL>(pos))
|
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);
|
pos.do_move(move, st);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue