mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-19 16:46:30 +08:00
Retire BitCount8Bit[] table
Use popcount() instead in the only calling place. It is used only at initialization so there is no speed regression and anyhow even initialization itself is not slowed down: magic bitboard setup stays around 175 msec on my slow 32bit Core Duo. No functional change.
This commit is contained in:
@@ -66,7 +66,6 @@ namespace {
|
||||
Square BSFTable[64];
|
||||
Bitboard RTable[0x19000]; // Storage space for rook attacks
|
||||
Bitboard BTable[0x1480]; // Storage space for bishop attacks
|
||||
uint8_t BitCount8Bit[256];
|
||||
|
||||
typedef unsigned (Fn)(Square, Bitboard);
|
||||
|
||||
@@ -159,9 +158,6 @@ void Bitboards::init() {
|
||||
for (int i = 0; i < 64; i++)
|
||||
BSFTable[bsf_index(1ULL << i)] = Square(i);
|
||||
|
||||
for (Bitboard b = 0; b < 256; b++)
|
||||
BitCount8Bit[b] = (uint8_t)popcount<Max15>(b);
|
||||
|
||||
for (Square s = SQ_A1; s <= SQ_H8; s++)
|
||||
SquareBB[s] = 1ULL << s;
|
||||
|
||||
@@ -324,7 +320,7 @@ namespace {
|
||||
// until we find the one that passes the verification test.
|
||||
do {
|
||||
do magics[s] = pick_random(rk, booster);
|
||||
while (BitCount8Bit[(magics[s] * masks[s]) >> 56] < 6);
|
||||
while (popcount<Max15>((magics[s] * masks[s]) >> 56) < 6);
|
||||
|
||||
memset(attacks[s], 0, size * sizeof(Bitboard));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user