mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 17:19:36 +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];
|
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 {
|
||||||
|
|
Loading…
Add table
Reference in a new issue