-template<PieceType Pt>
-inline unsigned magic_index(Square s, Bitboard occupied) {
-
- extern Magic RookMagics[SQUARE_NB];
- extern Magic BishopMagics[SQUARE_NB];
-
- const Magic* Magics = Pt == ROOK ? RookMagics : BishopMagics;
- Bitboard mask = Magics[s].mask;
- Bitboard magic = Magics[s].magic;
- unsigned shift = Magics[s].shift;