mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 17:19:36 +00:00
Simplify pawn captures generation
No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
db57b5f8f4
commit
b6b8c62ba5
1 changed files with 7 additions and 13 deletions
|
@ -91,19 +91,19 @@ namespace {
|
|||
template<Square Delta>
|
||||
inline Bitboard move_pawns(Bitboard p) {
|
||||
|
||||
return Delta == DELTA_N ? p << 8 : Delta == DELTA_S ? p >> 8 :
|
||||
Delta == DELTA_NE ? p << 9 : Delta == DELTA_SE ? p >> 7 :
|
||||
Delta == DELTA_NW ? p << 7 : Delta == DELTA_SW ? p >> 9 : p;
|
||||
return Delta == DELTA_N ? p << 8
|
||||
: Delta == DELTA_S ? p >> 8
|
||||
: Delta == DELTA_NE ? (p & ~FileHBB) << 9
|
||||
: Delta == DELTA_SE ? (p & ~FileHBB) >> 7
|
||||
: Delta == DELTA_NW ? (p & ~FileABB) << 7
|
||||
: Delta == DELTA_SW ? (p & ~FileABB) >> 9 : p;
|
||||
}
|
||||
|
||||
|
||||
template<Square Delta>
|
||||
inline MoveStack* generate_pawn_captures(MoveStack* mlist, Bitboard pawns, Bitboard target) {
|
||||
|
||||
const Bitboard TFileABB = ( Delta == DELTA_NE
|
||||
|| Delta == DELTA_SE ? FileABB : FileHBB);
|
||||
|
||||
Bitboard b = move_pawns<Delta>(pawns) & target & ~TFileABB;
|
||||
Bitboard b = move_pawns<Delta>(pawns) & target;
|
||||
SERIALIZE_PAWNS(b, -Delta);
|
||||
return mlist;
|
||||
}
|
||||
|
@ -112,14 +112,8 @@ namespace {
|
|||
template<MoveType Type, Square Delta>
|
||||
inline MoveStack* generate_promotions(MoveStack* mlist, Bitboard pawnsOn7, Bitboard target, Square ksq) {
|
||||
|
||||
const Bitboard TFileABB = ( Delta == DELTA_NE
|
||||
|| Delta == DELTA_SE ? FileABB : FileHBB);
|
||||
|
||||
Bitboard b = move_pawns<Delta>(pawnsOn7) & target;
|
||||
|
||||
if (Delta != DELTA_N && Delta != DELTA_S)
|
||||
b &= ~TFileABB;
|
||||
|
||||
while (b)
|
||||
{
|
||||
Square to = pop_1st_bit(&b);
|
||||
|
|
Loading…
Add table
Reference in a new issue