mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-17 07:36:23 +08:00
Use pointer-to-members to remove a bunch of duplicated code
Remove all generate_XXX_moves() functions, use an array of pointer to members instead. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user