X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fpawns.cpp;h=049e73bf9fb3e41e41ee5e1ee325d93b8b82143a;hb=764d3f44b68c01eeb9e7759e75aebe18488322c1;hp=7fd4ac071490dea47b3dc812bf968cc0d15e94b9;hpb=d549497144ee2a704057e005d2bbe1fbc666ca7e;p=stockfish diff --git a/src/pawns.cpp b/src/pawns.cpp index 7fd4ac07..049e73bf 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -104,8 +104,8 @@ PawnEntry* PawnTable::probe(const Position& pos) { e->kingSquares[WHITE] = e->kingSquares[BLACK] = SQ_NONE; e->halfOpenFiles[WHITE] = e->halfOpenFiles[BLACK] = 0xFF; - Bitboard wPawns = pos.pieces(PAWN, WHITE); - Bitboard bPawns = pos.pieces(PAWN, BLACK); + Bitboard wPawns = pos.pieces(WHITE, PAWN); + Bitboard bPawns = pos.pieces(BLACK, PAWN); e->pawnAttacks[WHITE] = ((wPawns & ~FileHBB) << 9) | ((wPawns & ~FileABB) << 7); e->pawnAttacks[BLACK] = ((bPawns & ~FileHBB) >> 7) | ((bPawns & ~FileABB) >> 9); @@ -152,8 +152,8 @@ Score PawnTable::evaluate_pawns(const Position& pos, Bitboard ourPawns, // chain (but not the backward one). chain = ourPawns & adjacent_files_bb(f) & b; isolated = !(ourPawns & adjacent_files_bb(f)); - doubled = ourPawns & squares_in_front_of(Us, s); - opposed = theirPawns & squares_in_front_of(Us, s); + doubled = ourPawns & forward_bb(Us, s); + opposed = theirPawns & forward_bb(Us, s); passed = !(theirPawns & passed_pawn_mask(Us, s)); // Test for backward pawn @@ -260,6 +260,7 @@ template Score PawnEntry::update_safety(const Position& pos, Square ksq) { kingSquares[Us] = ksq; + castleRights[Us] = pos.can_castle(Us); if (relative_rank(Us, ksq) > RANK_4) return kingSafety[Us] = SCORE_ZERO;