From: Stefano Cardanobile Date: Wed, 8 Aug 2018 12:27:28 +0000 (+0200) Subject: First check threshold in space evaluation X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=bd4d2b0576ec320367769d5720c7a5b4d094ceef First check threshold in space evaluation Currently, we first calculate some bitboards at the top of Evaluation::space() and then check whether we actually need them. Invert the ordering. Of course this does not make a difference in current master because the constexpr bitboard calculations are in fact done at compile time by any decent compiler, but I find my version a bit healthier since it will always meet or exceed current implementation even if we eventually change the spaceMask to something not contsexpr. No functional change. --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index c54b6d30..9eebad9e 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -718,14 +718,14 @@ namespace { template template Score Evaluation::space() const { + if (pos.non_pawn_material() < SpaceThreshold) + return SCORE_ZERO; + constexpr Color Them = (Us == WHITE ? BLACK : WHITE); constexpr Bitboard SpaceMask = Us == WHITE ? CenterFiles & (Rank2BB | Rank3BB | Rank4BB) : CenterFiles & (Rank7BB | Rank6BB | Rank5BB); - if (pos.non_pawn_material() < SpaceThreshold) - return SCORE_ZERO; - // Find the available squares for our pieces inside the area defined by SpaceMask Bitboard safe = SpaceMask & ~pos.pieces(Us, PAWN)