position: use XOR in square clr/set, for castling flags to 8 bits

This commit is contained in:
2024-09-11 08:14:55 +02:00
parent 9dd7c7064d
commit 8bf4262e11
5 changed files with 39 additions and 23 deletions

View File

@@ -182,19 +182,6 @@ static __always_inline bitboard_t bb_file(int file)
}
*/
/**
* bb_first_bb() - return bitboard of first square of a bitboard.
* @bb: bitboard
*
* bb must be non-zero.
*
* @return: bitboard of first square (lsb) of @bb.
*/
static __always_inline square_t bb_first_bb(bitboard_t bb)
{
return bb & -bb;
}
/**
* bb_next() - clear and return next (lsb) square of a bitboard.
* @bb: &bitboard
@@ -205,7 +192,7 @@ static __always_inline square_t bb_first_bb(bitboard_t bb)
*/
static __always_inline square_t bb_next(bitboard_t *bb)
{
square_t sq = ctz64(*bb);
square_t sq = lsb64(*bb);
*bb &= *bb - 1;
return sq;
}