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];
|
||||
|
||||
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
|
||||
/// 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 {
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user