X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbitboard.cpp;h=105d201f1c17de3ca2cfc9a1cad5a2d9aab4efd7;hp=398c6bf77858a5bfb79635ba732a1952b54896bf;hb=8df1cd10df0869f05916d1eb19e33b66127fcb86;hpb=cf5d683408a2ef8a1c80be9bf7d6790a38b16277 diff --git a/src/bitboard.cpp b/src/bitboard.cpp index 398c6bf7..105d201f 100644 --- a/src/bitboard.cpp +++ b/src/bitboard.cpp @@ -24,12 +24,11 @@ #include "misc.h" uint8_t PopCnt16[1 << 16]; -int SquareDistance[SQUARE_NB][SQUARE_NB]; +int8_t 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]; @@ -97,9 +96,6 @@ void Bitboards::init() { for (Rank r = RANK_1; r <= RANK_8; ++r) RankBB[r] = r > RANK_1 ? RankBB[r - 1] << 8 : Rank1BB; - for (File f = FILE_A; f <= FILE_H; ++f) - AdjacentFilesBB[f] = (f > FILE_A ? FileBB[f - 1] : 0) | (f < FILE_H ? FileBB[f + 1] : 0); - for (Rank r = RANK_1; r < RANK_8; ++r) ForwardRanksBB[WHITE][r] = ~(ForwardRanksBB[BLACK][r + 1] = ForwardRanksBB[BLACK][r] | RankBB[r]); @@ -107,7 +103,7 @@ void Bitboards::init() { for (Square s = SQ_A1; s <= SQ_H8; ++s) { ForwardFileBB [c][s] = ForwardRanksBB[c][rank_of(s)] & FileBB[file_of(s)]; - PawnAttackSpan[c][s] = ForwardRanksBB[c][rank_of(s)] & AdjacentFilesBB[file_of(s)]; + PawnAttackSpan[c][s] = ForwardRanksBB[c][rank_of(s)] & adjacent_files_bb(file_of(s)); PassedPawnMask[c][s] = ForwardFileBB [c][s] | PawnAttackSpan[c][s]; } @@ -184,8 +180,8 @@ namespace { // init_magics() computes all rook and bishop attacks at startup. Magic // bitboards are used to look up attacks of sliding pieces. As a reference see - // chessprogramming.wikispaces.com/Magic+Bitboards. In particular, here we - // use the so called "fancy" approach. + // www.chessprogramming.org/Magic_Bitboards. In particular, here we use the so + // called "fancy" approach. void init_magics(Bitboard table[], Magic magics[], Direction directions[]) {