]> git.sesse.net Git - stockfish/blobdiff - src/position.cpp
Use a const pointer-to-member array for attacks
[stockfish] / src / position.cpp
index f16d498fd065aa38f9261fda7efb6fc32b127afa..6de3f08c89e69b6baf72cc502343e85cfc2e363e 100644 (file)
@@ -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) {