X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.cpp;h=aefda8d2e9d3f44110a8d41fc55b0b16b73c66a7;hp=91f8ed752004cb7a48760f71fb0c4d0679617545;hb=71e852ea815be8dd718685cb9e15ccdb8b756211;hpb=ccdb634b7722a300707b9348ac30ae2c4152da8a diff --git a/src/pawns.cpp b/src/pawns.cpp index 91f8ed75..aefda8d2 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -218,10 +218,10 @@ PawnInfoTable::Values PawnInfoTable::evaluate_pawns(const Position& pos, Bitboar int bonus; Value mgValue = Value(0); Value egValue = Value(0); - Bitboard pawns = ourPawns; + const Square* ptr = pos.piece_list_begin(Us, PAWN); // Initialize pawn storm scores by giving bonuses for open files - for (File f = FILE_A; f <= FILE_H; f++) + for (f = FILE_A; f <= FILE_H; f++) if (!(ourPawns & file_bb(f))) { pi->ksStormValue[Us] += KStormOpenFileBonus[f]; @@ -230,9 +230,8 @@ PawnInfoTable::Values PawnInfoTable::evaluate_pawns(const Position& pos, Bitboar } // Loop through all pawns of the current color and score each pawn - while (pawns) + while ((s = *ptr++) != SQ_NONE) { - s = pop_1st_bit(&pawns); f = square_file(s); r = square_rank(s); @@ -392,7 +391,7 @@ PawnInfoTable::Values PawnInfoTable::evaluate_pawns(const Position& pos, Bitboar mgValue += CandidateMidgameBonus[relative_rank(Us, s)]; egValue += CandidateEndgameBonus[relative_rank(Us, s)]; } - } // while (pawns) + } return Values(mgValue, egValue); }