bb: Add StarSquareXBB but but used

This commit is contained in:
Calcitem 2020-12-28 00:56:17 +08:00
parent 5992515c52
commit 2ce460bbba
2 changed files with 17 additions and 4 deletions

View File

@ -28,6 +28,9 @@ uint8_t SquareDistance[SQ_32][SQ_32];
Bitboard SquareBB[SQ_32];
Bitboard LineBB[EFFECTIVE_SQUARE_NB][SQ_32];
Bitboard StarSquare9BB;
Bitboard StarSquare12BB;
/// Bitboards::pretty() returns an ASCII representation of a bitboard suitable
/// to be printed to standard output. Useful for debugging.
@ -59,6 +62,9 @@ void Bitboards::init()
for (Square s = SQ_BEGIN; s < SQ_END; ++s)
SquareBB[s] = (1UL << s);
StarSquare9BB = square_bb(SQ_16) | square_bb(SQ_18) | square_bb(SQ_20) | square_bb(SQ_22);
StarSquare12BB = square_bb(SQ_17) | square_bb(SQ_19) | square_bb(SQ_21) | square_bb(SQ_23);
for (Square s1 = SQ_A1; s1 <= SQ_C8; ++s1)
for (Square s2 = SQ_A1; s2 <= SQ_C8; ++s2)
SquareDistance[s1][s2] = std::max(distance<File>(s1, s2), distance<Rank>(s1, s2));

View File

@ -35,7 +35,6 @@ const std::string pretty(Bitboard b);
}
constexpr Bitboard AllSquares = ~Bitboard(0);
//constexpr Bitboard starSquares12 = 0xAA55AA55AA55AA55UL; // TODO
constexpr Bitboard FileABB = 0x0000FF00;
constexpr Bitboard FileBBB = FileABB << (8 * 1);
@ -56,9 +55,8 @@ extern uint8_t SquareDistance[SQ_32][SQ_32];
extern Bitboard SquareBB[SQ_32];
extern Bitboard LineBB[EFFECTIVE_SQUARE_NB][SQ_32];
// TODO
const Bitboard Star9 = SquareBB[17] | SquareBB[19] | SquareBB[21] | SquareBB[23];
const Bitboard Star12 = SquareBB[16] | SquareBB[18] | SquareBB[20] | SquareBB[22];
extern Bitboard StarSquare9BB;
extern Bitboard StarSquare12BB;
inline Bitboard square_bb(Square s)
{
@ -66,6 +64,15 @@ inline Bitboard square_bb(Square s)
return SquareBB[s];
}
inline Bitboard star_square_bb_9()
{
return StarSquare9BB;
}
inline Bitboard star_square_bb_12()
{
return StarSquare12BB;
}
/// Overloads of bitwise operators between a Bitboard and a Square for testing
/// whether a given bit is set in a bitboard, and for setting and clearing bits.