-namespace {
-
- // De Bruijn sequences. See chessprogramming.wikispaces.com/BitScan
- const uint64_t DeBruijn_64 = 0x218A392CD3D5DBFULL;
- const uint32_t DeBruijn_32 = 0x783A9B23;
-
- CACHE_LINE_ALIGNMENT
-
- int MS1BTable[256];
- Square BSFTable[64];
- Bitboard RTable[0x19000]; // Storage space for rook attacks
- Bitboard BTable[0x1480]; // Storage space for bishop attacks
- uint8_t BitCount8Bit[256];
+uint8_t PopCnt16[1 << 16];
+int SquareDistance[SQUARE_NB][SQUARE_NB];
+
+Bitboard SquareBB[SQUARE_NB];
+Bitboard FileBB[FILE_NB];
+Bitboard RankBB[RANK_NB];
+Bitboard AdjacentFilesBB[FILE_NB];
+Bitboard ForwardRanksBB[COLOR_NB][RANK_NB];
+Bitboard BetweenBB[SQUARE_NB][SQUARE_NB];
+Bitboard LineBB[SQUARE_NB][SQUARE_NB];
+Bitboard DistanceRingBB[SQUARE_NB][8];
+Bitboard ForwardFileBB[COLOR_NB][SQUARE_NB];
+Bitboard PassedPawnMask[COLOR_NB][SQUARE_NB];
+Bitboard PawnAttackSpan[COLOR_NB][SQUARE_NB];
+Bitboard PseudoAttacks[PIECE_TYPE_NB][SQUARE_NB];
+Bitboard PawnAttacks[COLOR_NB][SQUARE_NB];
+
+Magic RookMagics[SQUARE_NB];
+Magic BishopMagics[SQUARE_NB];