1
0
Fork 0
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:
Marco Costalba 2013-12-04 17:24:32 +01:00
parent 69a14554ee
commit b71cedb2b0
2 changed files with 2 additions and 3 deletions

View file

@ -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.

View file

@ -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 {