From 79c97625a42c131708af953839900aff31102454 Mon Sep 17 00:00:00 2001 From: protonspring Date: Tue, 1 Jan 2019 05:38:09 -0700 Subject: [PATCH] Remove openFiles in pawns. (#1917) A single popcount in evaluate.cpp replaces all openFiles stuff in pawns. It doesn't seem to affect performance at all. STC LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 28103 W: 6134 L: 6025 D: 15944 http://tests.stockfishchess.org/tests/view/5b7d70a20ebc5902bdbb1999 No functional change. --- src/evaluate.cpp | 3 ++- src/pawns.cpp | 1 - src/pawns.h | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 53a54006..0a7d0af9 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -717,7 +717,8 @@ namespace { behind |= (Us == WHITE ? behind >> 16 : behind << 16); int bonus = popcount(safe) + popcount(behind & safe); - int weight = pos.count(Us) - 2 * pe->open_files(); + int weight = pos.count(Us) + - 2 * popcount(pe->semiopenFiles[WHITE] & pe->semiopenFiles[BLACK]); Score score = make_score(bonus * weight * weight / 16, 0); diff --git a/src/pawns.cpp b/src/pawns.cpp index edd670b8..a9fc92b2 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -185,7 +185,6 @@ Entry* probe(const Position& pos) { e->key = key; e->scores[WHITE] = evaluate(pos, e); e->scores[BLACK] = evaluate(pos, e); - e->openFiles = popcount(e->semiopenFiles[WHITE] & e->semiopenFiles[BLACK]); e->asymmetry = popcount( (e->passedPawns[WHITE] | e->passedPawns[BLACK]) | (e->semiopenFiles[WHITE] ^ e->semiopenFiles[BLACK])); diff --git a/src/pawns.h b/src/pawns.h index df220eab..67f966ad 100644 --- a/src/pawns.h +++ b/src/pawns.h @@ -39,7 +39,6 @@ struct Entry { Bitboard pawn_attacks_span(Color c) const { return pawnAttacksSpan[c]; } int weak_unopposed(Color c) const { return weakUnopposed[c]; } int pawn_asymmetry() const { return asymmetry; } - int open_files() const { return openFiles; } int semiopen_file(Color c, File f) const { return semiopenFiles[c] & (1 << f); @@ -73,7 +72,6 @@ struct Entry { int semiopenFiles[COLOR_NB]; int pawnsOnSquares[COLOR_NB][COLOR_NB]; // [color][light/dark squares] int asymmetry; - int openFiles; }; typedef HashTable Table; -- 2.39.2