mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 16:53:09 +00: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:
parent
69a14554ee
commit
b71cedb2b0
2 changed files with 2 additions and 3 deletions
|
@ -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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue