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.pull/1726/head^2
parent
c569cf263d
commit
bd4d2b0576
|
@ -718,14 +718,14 @@ namespace {
|
|||
template<Tracing T> template<Color Us>
|
||||
Score Evaluation<T>::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)
|
||||
|
|
Loading…
Reference in New Issue