1
0
Fork 0

Introduce Bitboards namespace

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
sf_2.3.1_base
Marco Costalba 2012-04-01 10:46:38 +01:00
parent adb71b8096
commit 9bbd27a80f
3 changed files with 29 additions and 24 deletions

View File

@ -68,24 +68,6 @@ namespace {
Bitboard masks[], unsigned shifts[], Square deltas[], Fn index);
}
/// print_bitboard() prints a bitboard in an easily readable format to the
/// standard output. This is sometimes useful for debugging.
void print_bitboard(Bitboard b) {
for (Rank r = RANK_8; r >= RANK_1; r--)
{
std::cout << "+---+---+---+---+---+---+---+---+" << '\n';
for (File f = FILE_A; f <= FILE_H; f++)
std::cout << "| " << ((b & make_square(f, r)) ? "X " : " ");
std::cout << "|\n";
}
std::cout << "+---+---+---+---+---+---+---+---+" << std::endl;
}
/// first_1() finds the least significant nonzero bit in a nonzero bitboard.
/// pop_1st_bit() finds and clears the least significant nonzero bit in a
/// nonzero bitboard.
@ -166,10 +148,29 @@ Square last_1(Bitboard b) {
#endif // !defined(USE_BSFQ)
/// bitboards_init() initializes various bitboard arrays. It is called during
/// Bitboards::print() prints a bitboard in an easily readable format to the
/// standard output. This is sometimes useful for debugging.
void Bitboards::print(Bitboard b) {
for (Rank rank = RANK_8; rank >= RANK_1; rank--)
{
std::cout << "+---+---+---+---+---+---+---+---+" << '\n';
for (File file = FILE_A; file <= FILE_H; file++)
std::cout << "| " << ((b & make_square(file, rank)) ? "X " : " ");
std::cout << "|\n";
}
std::cout << "+---+---+---+---+---+---+---+---+" << std::endl;
}
/// Bitboards::init() initializes various bitboard arrays. It is called during
/// program initialization.
void bitboards_init() {
void Bitboards::init() {
for (int k = 0, i = 0; i < 8; i++)
while (k < (2 << i))

View File

@ -23,6 +23,13 @@
#include "types.h"
namespace Bitboards {
extern void init();
extern void print(Bitboard b);
}
CACHE_LINE_ALIGNMENT
extern Bitboard RMasks[64];
@ -263,7 +270,4 @@ extern Square pop_1st_bit(Bitboard* b);
#endif
extern void print_bitboard(Bitboard b);
extern void bitboards_init();
#endif // !defined(BITBOARD_H_INCLUDED)

View File

@ -35,7 +35,7 @@ int main(int argc, char* argv[]) {
std::cout << engine_info() << std::endl;
bitboards_init();
Bitboards::init();
Position::init();
kpk_bitbase_init();
Search::init();