Skip to content

Commit

Permalink
Retire TheirHalf[]
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
mcostalba committed Dec 4, 2013
1 parent 69a1455 commit b71cedb
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 3 deletions.
2 changes: 0 additions & 2 deletions src/bitboard.h
Expand Up @@ -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.
Expand Down
3 changes: 2 additions & 1 deletion src/position.h
Expand Up @@ -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 {
Expand Down

0 comments on commit b71cedb

Please sign in to comment.