]> git.sesse.net Git - stockfish/blobdiff - src/bitboard.cpp
Restore MS1BTable[]
[stockfish] / src / bitboard.cpp
index 64cba6b5fc301322299a0eb3cf0d8c5102b07867..36d582d3a6a2ebec48639658a20241f6efb11786 100644 (file)
@@ -58,6 +58,7 @@ namespace {
   CACHE_LINE_ALIGNMENT
 
   int BSFTable[64];
+  int MS1BTable[256];
   Bitboard RTable[0x19000]; // Storage space for rook attacks
   Bitboard BTable[0x1480];  // Storage space for bishop attacks
 
@@ -160,7 +161,7 @@ Square last_1(Bitboard b) {
       result += 8;
   }
 
-  return Square(result + BitCount8Bit[b]);
+  return Square(result + MS1BTable[b]);
 }
 
 #endif // !defined(USE_BSFQ)
@@ -170,6 +171,10 @@ Square last_1(Bitboard b) {
 
 void bitboards_init() {
 
+  for (int k = 0, i = 0; i < 8; i++)
+      while (k < (2 << i))
+          MS1BTable[k++] = i;
+
   for (Bitboard b = 0; b < 256; b++)
       BitCount8Bit[b] = (uint8_t)popcount<Max15>(b);