From: Mike Whiteley Date: Wed, 21 Feb 2018 20:46:25 +0000 (+0100) Subject: rename shift variables. X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=820c5c25b649d6bdd51bed14a16efdc11719b588;hp=6c898a10be75bc2c295a7dca7f72e51e76ec8293 rename shift variables. Where variable names are explicitly incorrect, I feel morally obligated to at least suggest an alternative. There are many, but these two are especially egregious. No functional change. --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 6042ae33..b531cc27 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -512,8 +512,6 @@ namespace { const Color Them = (Us == WHITE ? BLACK : WHITE); const Direction Up = (Us == WHITE ? NORTH : SOUTH); - const Direction Left = (Us == WHITE ? NORTH_WEST : SOUTH_EAST); - const Direction Right = (Us == WHITE ? NORTH_EAST : SOUTH_WEST); const Bitboard TRank3BB = (Us == WHITE ? Rank3BB : Rank6BB); Bitboard b, weak, defended, nonPawnEnemies, stronglyProtected, safeThreats; @@ -529,7 +527,7 @@ namespace { b = pos.pieces(Us, PAWN) & (~attackedBy[Them][ALL_PIECES] | attackedBy[Us][ALL_PIECES]); - safeThreats = (shift(b) | shift(b)) & weak; + safeThreats = pos.pawn_attacks(b) & weak; score += ThreatBySafePawn * popcount(safeThreats); } @@ -585,7 +583,7 @@ namespace { & (attackedBy[Us][ALL_PIECES] | ~attackedBy[Them][ALL_PIECES]); // Bonus for safe pawn threats on the next move - b = (shift(b) | shift(b)) + b = pos.pawn_attacks(b) & pos.pieces(Them) & ~attackedBy[Us][PAWN]; diff --git a/src/movegen.cpp b/src/movegen.cpp index 15de166e..14f30ea0 100644 --- a/src/movegen.cpp +++ b/src/movegen.cpp @@ -99,8 +99,8 @@ namespace { const Bitboard TRank7BB = (Us == WHITE ? Rank7BB : Rank2BB); const Bitboard TRank3BB = (Us == WHITE ? Rank3BB : Rank6BB); const Direction Up = (Us == WHITE ? NORTH : SOUTH); - const Direction Right = (Us == WHITE ? NORTH_EAST : SOUTH_WEST); - const Direction Left = (Us == WHITE ? NORTH_WEST : SOUTH_EAST); + const Direction UpRight = (Us == WHITE ? NORTH_EAST : SOUTH_WEST); + const Direction UpLeft = (Us == WHITE ? NORTH_WEST : SOUTH_EAST); Bitboard emptySquares; @@ -168,38 +168,38 @@ namespace { if (Type == EVASIONS) emptySquares &= target; - Bitboard b1 = shift(pawnsOn7) & enemies; - Bitboard b2 = shift(pawnsOn7) & enemies; - Bitboard b3 = shift(pawnsOn7) & emptySquares; + Bitboard b1 = shift(pawnsOn7) & enemies; + Bitboard b2 = shift(pawnsOn7) & enemies; + Bitboard b3 = shift(pawnsOn7) & emptySquares; Square ksq = pos.square(Them); while (b1) - moveList = make_promotions(moveList, pop_lsb(&b1), ksq); + moveList = make_promotions(moveList, pop_lsb(&b1), ksq); while (b2) - moveList = make_promotions(moveList, pop_lsb(&b2), ksq); + moveList = make_promotions(moveList, pop_lsb(&b2), ksq); while (b3) - moveList = make_promotions(moveList, pop_lsb(&b3), ksq); + moveList = make_promotions(moveList, pop_lsb(&b3), ksq); } // Standard and en-passant captures if (Type == CAPTURES || Type == EVASIONS || Type == NON_EVASIONS) { - Bitboard b1 = shift(pawnsNotOn7) & enemies; - Bitboard b2 = shift(pawnsNotOn7) & enemies; + Bitboard b1 = shift(pawnsNotOn7) & enemies; + Bitboard b2 = shift(pawnsNotOn7) & enemies; while (b1) { Square to = pop_lsb(&b1); - *moveList++ = make_move(to - Right, to); + *moveList++ = make_move(to - UpRight, to); } while (b2) { Square to = pop_lsb(&b2); - *moveList++ = make_move(to - Left, to); + *moveList++ = make_move(to - UpLeft, to); } if (pos.ep_square() != SQ_NONE) diff --git a/src/pawns.cpp b/src/pawns.cpp index b4ff799d..721df372 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -90,8 +90,6 @@ namespace { const Color Them = (Us == WHITE ? BLACK : WHITE); const Direction Up = (Us == WHITE ? NORTH : SOUTH); - const Direction Right = (Us == WHITE ? NORTH_EAST : SOUTH_WEST); - const Direction Left = (Us == WHITE ? NORTH_WEST : SOUTH_EAST); Bitboard b, neighbours, stoppers, doubled, supported, phalanx; Bitboard lever, leverPush; @@ -106,7 +104,7 @@ namespace { e->passedPawns[Us] = e->pawnAttacksSpan[Us] = e->weakUnopposed[Us] = 0; e->semiopenFiles[Us] = 0xFF; e->kingSquares[Us] = SQ_NONE; - e->pawnAttacks[Us] = shift(ourPawns) | shift(ourPawns); + e->pawnAttacks[Us] = pos.pawn_attacks(ourPawns); e->pawnsOnSquares[Us][BLACK] = popcount(ourPawns & DarkSquares); e->pawnsOnSquares[Us][WHITE] = pos.count(Us) - e->pawnsOnSquares[Us][BLACK]; diff --git a/src/position.h b/src/position.h index 34e2f7ee..403ce398 100644 --- a/src/position.h +++ b/src/position.h @@ -115,6 +115,7 @@ public: Bitboard attacks_from(PieceType pt, Square s) const; template Bitboard attacks_from(Square s) const; template Bitboard attacks_from(Square s, Color c) const; + template Bitboard pawn_attacks(Bitboard b) const; Bitboard slider_blockers(Bitboard sliders, Square s, Bitboard& pinners) const; // Properties of moves @@ -288,6 +289,12 @@ inline Bitboard Position::attacks_from(PieceType pt, Square s) const { return attacks_bb(pt, s, byTypeBB[ALL_PIECES]); } +template +inline Bitboard Position::pawn_attacks(Bitboard b) const { + return c == WHITE ? shift(b) | shift(b) + : shift(b) | shift(b); +} + inline Bitboard Position::attackers_to(Square s) const { return attackers_to(s, byTypeBB[ALL_PIECES]); }