mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 01:27:16 +08:00
Retire TheirHalf[]
We avoid to use an ad-hoc table at the cost of a relative_rank() call in advanced_pawn_push(). On my 32 bit system it is even slightly faster (on 64bit may be different). This is the speed in nps alternating old and new bench runs: new 368890 368825 369972 old 367798 367635 368026 No functional change.
This commit is contained in:
@@ -84,8 +84,6 @@ extern Bitboard PseudoAttacks[PIECE_TYPE_NB][SQUARE_NB];
|
|||||||
extern int SquareDistance[SQUARE_NB][SQUARE_NB];
|
extern int SquareDistance[SQUARE_NB][SQUARE_NB];
|
||||||
|
|
||||||
const Bitboard DarkSquares = 0xAA55AA55AA55AA55ULL;
|
const Bitboard DarkSquares = 0xAA55AA55AA55AA55ULL;
|
||||||
const Bitboard TheirHalf[COLOR_NB] = { Rank5BB | Rank6BB | Rank7BB | Rank8BB,
|
|
||||||
Rank1BB | Rank2BB | Rank3BB | Rank4BB };
|
|
||||||
|
|
||||||
/// Overloads of bitwise operators between a Bitboard and a Square for testing
|
/// Overloads of bitwise operators between a Bitboard and a Square for testing
|
||||||
/// whether a given bit is set in a bitboard, and for setting and clearing bits.
|
/// whether a given bit is set in a bitboard, and for setting and clearing bits.
|
||||||
|
|||||||
@@ -327,7 +327,8 @@ inline bool Position::pawn_passed(Color c, Square s) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline bool Position::advanced_pawn_push(Move m) const {
|
inline bool Position::advanced_pawn_push(Move m) const {
|
||||||
return pieces(PAWN) & TheirHalf[sideToMove] & from_sq(m);
|
return type_of(moved_piece(m)) == PAWN
|
||||||
|
&& relative_rank(sideToMove, from_sq(m)) > RANK_4;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline Key Position::key() const {
|
inline Key Position::key() const {
|
||||||
|
|||||||
Reference in New Issue
Block a user