Clarify the mapping of files to queenside

This patch replaces the obscure expressions mapping files ABCDEFGH to ABCDDCBA
by explicite calls to an auxiliary function:

  old:   f = min(f, ~f)
  new:   f = map_to_queenside(f)

We used the Golbolt web site (https://godbolt.org) to check that the current
code for the auxiliary function is optimal.

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 30292 W: 6756 L: 6651 D: 16885
http://tests.stockfishchess.org/tests/view/5d8676720ebc5971531d6aa1

Achieved with a bit of help from Sopel97, snicolet and vondele, thanks everyone!
Closes https://github.com/official-stockfish/Stockfish/pull/2325

No functional change
This commit is contained in:
nickpelling
2019-09-21 08:59:32 +01:00
committed by Stéphane Nicolet
parent defa1ccaa9
commit d232a4ae68
5 changed files with 9 additions and 7 deletions
+1 -1
View File
@@ -662,7 +662,7 @@ namespace {
|| (pos.pieces(PAWN) & (s + Up)))
bonus = bonus / 2;
score += bonus - PassedFile * std::min(f, ~f);
score += bonus - PassedFile * map_to_queenside(f);
}
if (T)