X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbitbase.cpp;h=9301dcfad13ea51797b10d44e3011c9b7fa36f90;hp=097da917acacd607f29f1d793449a97391453b60;hb=a6b5ba1b6404ce8aec8a2be8b7354dcb89cfda3f;hpb=cf5d683408a2ef8a1c80be9bf7d6790a38b16277
diff --git a/src/bitbase.cpp b/src/bitbase.cpp
index 097da917..9301dcfa 100644
--- a/src/bitbase.cpp
+++ b/src/bitbase.cpp
@@ -18,7 +18,6 @@
along with this program. If not, see .
*/
-#include
#include
#include
#include
@@ -28,7 +27,8 @@
namespace {
- // There are 24 possible pawn squares: the first 4 files and ranks from 2 to 7
+ // There are 24 possible pawn squares: files A to D and ranks from 2 to 7.
+ // Positions with the pawn on files E to H will be mirrored before probing.
constexpr unsigned MAX_INDEX = 2*24*64*64; // stm * psq * wksq * bksq = 196608
// Each uint32_t stores results of 32 positions, one per bit
@@ -44,7 +44,7 @@ namespace {
// bit 13-14: white pawn file (from FILE_A to FILE_D)
// bit 15-17: white pawn RANK_7 - rank (from RANK_7 - RANK_7 to RANK_7 - RANK_2)
unsigned index(Color us, Square bksq, Square wksq, Square psq) {
- return wksq | (bksq << 6) | (us << 12) | (file_of(psq) << 13) | ((RANK_7 - rank_of(psq)) << 15);
+ return int(wksq) | (bksq << 6) | (us << 12) | (file_of(psq) << 13) | ((RANK_7 - rank_of(psq)) << 15);
}
enum Result {