]> git.sesse.net Git - stockfish/blobdiff - src/bitboard.cpp
More readable init of MS1BTable[]
[stockfish] / src / bitboard.cpp
index 19599a5124bdc54cf4e93a9b77c2b02a45a62b39..fd3db6715b6e15278a5c8d382d37798132adc37b 100644 (file)
@@ -151,15 +151,11 @@ const std::string Bitboards::pretty(Bitboard b) {
 
 void Bitboards::init() {
 
-  for (int k = 0, i = 0; i < 8; ++i)
-      while (k < (2 << i))
-          MS1BTable[k++] = i;
-
-  for (int i = 0; i < 64; ++i)
-      BSFTable[bsf_index(1ULL << i)] = Square(i);
-
   for (Square s = SQ_A1; s <= SQ_H8; ++s)
-      SquareBB[s] = 1ULL << s;
+      BSFTable[bsf_index(SquareBB[s] = 1ULL << s)] = s;
+
+  for (Bitboard b = 1; b < 256; ++b)
+      MS1BTable[b] = more_than_one(b) ? MS1BTable[b - 1] : lsb(b);
 
   FileBB[FILE_A] = FileABB;
   RankBB[RANK_1] = Rank1BB;