X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=28da877525a4773a87b1f25c31bd8ccca1da068d;hp=26f457c54793b49299dda43c13ac75888de9bef6;hb=e304db9d1ecf6a2318708483c90fadecf4fac4ee;hpb=e6d8e7415220a11c06b9a707fde6f5c7dd27d34b diff --git a/src/position.cpp b/src/position.cpp index 26f457c5..28da8775 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -40,16 +40,16 @@ static const string PieceToChar(" PNBRQK pnbrqk"); CACHE_LINE_ALIGNMENT -Score pieceSquareTable[16][64]; // [piece][square] -Value PieceValue[2][18] = { // [Mg / Eg][piece / pieceType] +Score pieceSquareTable[PIECE_NB][SQUARE_NB]; +Value PieceValue[2][18] = { // [Mg / Eg][piece / pieceType] { VALUE_ZERO, PawnValueMg, KnightValueMg, BishopValueMg, RookValueMg, QueenValueMg }, { VALUE_ZERO, PawnValueEg, KnightValueEg, BishopValueEg, RookValueEg, QueenValueEg } }; namespace Zobrist { -Key psq[2][8][64]; // [color][pieceType][square / piece count] -Key enpassant[8]; // [file] -Key castle[16]; // [castleRight] +Key psq[COLOR_NB][PIECE_TYPE_NB][SQUARE_NB]; +Key enpassant[FILE_NB]; +Key castle[CASTLE_RIGHT_NB]; Key side; Key exclusion; @@ -102,11 +102,13 @@ void init() { } // namespace Zobrist +namespace { + /// next_attacker() is an helper function used by see() to locate the least /// valuable attacker for the side to move, remove the attacker we just found /// from the 'occupied' bitboard and scan for new X-ray attacks behind it. -template static FORCE_INLINE +template FORCE_INLINE PieceType next_attacker(const Bitboard* bb, const Square& to, const Bitboard& stmAttackers, Bitboard& occupied, Bitboard& attackers) { @@ -131,6 +133,8 @@ PieceType next_attacker(const Bitboard*, const Square&, const Bitboard&, B return KING; // No need to update bitboards, it is the last cycle } +} // namespace + /// CheckInfo c'tor @@ -1589,7 +1593,7 @@ bool Position::pos_is_ok(int* failedStep) const { if ((*step)++, debugKingCount) { - int kingCount[2] = {}; + int kingCount[COLOR_NB] = {}; for (Square s = SQ_A1; s <= SQ_H8; s++) if (type_of(piece_on(s)) == KING)