]> git.sesse.net Git - stockfish/blobdiff - src/position.cpp
Use pointer-to-members to remove a bunch of duplicated code
[stockfish] / src / position.cpp
index 7b39be155a3b13d7ed5bcffc1dd7c959cc8bb7eb..f16d498fd065aa38f9261fda7efb6fc32b127afa 100644 (file)
@@ -48,11 +48,21 @@ Key Position::zobSideToMove;
 Value Position::MgPieceSquareTable[16][64];
 Value Position::EgPieceSquareTable[16][64];
 
+Piece_attacks_fn piece_attacks_fn[7];
 
 ////
 //// 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) {