From eddfd46a1016c544cc0f18600677fe121f3cbbff Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sat, 10 Oct 2009 08:52:34 +0200 Subject: [PATCH] Use piece_list to scan the pawns in evaluate_pawns() No functional change and small speed increase. Signed-off-by: Marco Costalba --- src/pawns.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pawns.cpp b/src/pawns.cpp index 91f8ed75..e97dd6a4 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -218,7 +218,7 @@ 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++) @@ -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); } -- 2.39.2