mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-17 07:36:23 +08:00
Use a const pointer-to-member array for attacks
Allow the compiler to optimize member function access. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -48,21 +48,18 @@ Key Position::zobSideToMove;
|
||||
Value Position::MgPieceSquareTable[16][64];
|
||||
Value Position::EgPieceSquareTable[16][64];
|
||||
|
||||
Piece_attacks_fn piece_attacks_fn[7];
|
||||
const Piece_attacks_fn piece_attacks_fn[] =
|
||||
{ 0, 0,
|
||||
&Position::knight_attacks,
|
||||
&Position::bishop_attacks,
|
||||
&Position::rook_attacks,
|
||||
&Position::queen_attacks,
|
||||
&Position::king_attacks };
|
||||
|
||||
////
|
||||
//// Functions
|
||||
////
|
||||
|
||||
void init_piece_attacks_fn() {
|
||||
|
||||
piece_attacks_fn[KNIGHT] = &Position::knight_attacks;
|
||||
piece_attacks_fn[BISHOP] = &Position::bishop_attacks;
|
||||
piece_attacks_fn[ROOK] = &Position::rook_attacks;
|
||||
piece_attacks_fn[QUEEN] = &Position::queen_attacks;
|
||||
piece_attacks_fn[KING] = &Position::king_attacks;
|
||||
}
|
||||
|
||||
/// Constructors
|
||||
|
||||
Position::Position(const Position &pos) {
|
||||
|
||||
Reference in New Issue
Block a user