From: mstembera Date: Mon, 3 Jul 2023 02:48:18 +0000 (-0700) Subject: Simplify lookup_count and clean up pieces(). X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=80564bcfcd3523c2a61e7a2c4bee36d4aada49d1 Simplify lookup_count and clean up pieces(). https://github.com/official-stockfish/Stockfish/pull/4656 No functional change --- diff --git a/src/nnue/layers/affine_transform_sparse_input.h b/src/nnue/layers/affine_transform_sparse_input.h index e0c3a8a0..18c166cd 100644 --- a/src/nnue/layers/affine_transform_sparse_input.h +++ b/src/nnue/layers/affine_transform_sparse_input.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include "../nnue_common.h" #include "affine_transform.h" @@ -77,16 +78,7 @@ namespace Stockfish::Eval::NNUE::Layers { alignas(CacheLineSize) static inline const std::array lookup_count = [](){ std::array v; for (int i = 0; i < 256; ++i) - { - int j = i; - int k = 0; - while(j) - { - j &= j - 1; - ++k; - } - v[i] = k; - } + v[i] = unsigned(std::bitset<8>(i).count()); return v; }(); diff --git a/src/position.h b/src/position.h index 2e6014db..7d4b3771 100644 --- a/src/position.h +++ b/src/position.h @@ -91,7 +91,7 @@ public: std::string fen() const; // Position representation - Bitboard pieces(PieceType pt) const; + Bitboard pieces(PieceType pt = ALL_PIECES) const; template Bitboard pieces(PieceType pt, PieceTypes... pts) const; Bitboard pieces(Color c) const; template Bitboard pieces(Color c, PieceTypes... pts) const; @@ -224,7 +224,7 @@ inline Piece Position::moved_piece(Move m) const { return piece_on(from_sq(m)); } -inline Bitboard Position::pieces(PieceType pt = ALL_PIECES) const { +inline Bitboard Position::pieces(PieceType pt) const { return byTypeBB[pt]; }