mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Introduce Bitboards namespace
No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
adb71b8096
commit
9bbd27a80f
3 changed files with 29 additions and 24 deletions
|
@ -68,24 +68,6 @@ namespace {
|
||||||
Bitboard masks[], unsigned shifts[], Square deltas[], Fn index);
|
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.
|
/// 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
|
/// pop_1st_bit() finds and clears the least significant nonzero bit in a
|
||||||
/// nonzero bitboard.
|
/// nonzero bitboard.
|
||||||
|
@ -166,10 +148,29 @@ Square last_1(Bitboard b) {
|
||||||
|
|
||||||
#endif // !defined(USE_BSFQ)
|
#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.
|
/// program initialization.
|
||||||
|
|
||||||
void bitboards_init() {
|
void Bitboards::init() {
|
||||||
|
|
||||||
for (int k = 0, i = 0; i < 8; i++)
|
for (int k = 0, i = 0; i < 8; i++)
|
||||||
while (k < (2 << i))
|
while (k < (2 << i))
|
||||||
|
|
|
@ -23,6 +23,13 @@
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
|
namespace Bitboards {
|
||||||
|
|
||||||
|
extern void init();
|
||||||
|
extern void print(Bitboard b);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
CACHE_LINE_ALIGNMENT
|
CACHE_LINE_ALIGNMENT
|
||||||
|
|
||||||
extern Bitboard RMasks[64];
|
extern Bitboard RMasks[64];
|
||||||
|
@ -263,7 +270,4 @@ extern Square pop_1st_bit(Bitboard* b);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern void print_bitboard(Bitboard b);
|
|
||||||
extern void bitboards_init();
|
|
||||||
|
|
||||||
#endif // !defined(BITBOARD_H_INCLUDED)
|
#endif // !defined(BITBOARD_H_INCLUDED)
|
||||||
|
|
|
@ -35,7 +35,7 @@ int main(int argc, char* argv[]) {
|
||||||
|
|
||||||
std::cout << engine_info() << std::endl;
|
std::cout << engine_info() << std::endl;
|
||||||
|
|
||||||
bitboards_init();
|
Bitboards::init();
|
||||||
Position::init();
|
Position::init();
|
||||||
kpk_bitbase_init();
|
kpk_bitbase_init();
|
||||||
Search::init();
|
Search::init();
|
||||||
|
|
Loading…
Add table
Reference in a new issue