X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fevaluate.cpp;h=a2ed91f8c9e1e8319926e1dbb534ac3ed336f090;hb=3705559fdb1d5959ed6eba37f1b06e03a25be82d;hp=b1422ac67eccb50fefdebde17d7396d01b0542db;hpb=eced15fe36a16c38659f586bc558b1175114cc76;p=stockfish diff --git a/src/evaluate.cpp b/src/evaluate.cpp index b1422ac6..a2ed91f8 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -161,12 +161,10 @@ namespace { #undef S const Score Tempo = make_score(24, 11); - const Score RookOn7th = make_score(11, 20); const Score RookOnPawn = make_score(10, 28); const Score RookOpenFile = make_score(43, 21); const Score RookSemiopenFile = make_score(19, 10); const Score BishopPawns = make_score( 8, 12); - const Score KnightPawns = make_score( 8, 4); const Score MinorBehindPawn = make_score(16, 0); const Score UndefendedMinor = make_score(25, 10); const Score TrappedRook = make_score(90, 0); @@ -349,10 +347,6 @@ namespace { if (Pt == BISHOP) score -= BishopPawns * ei.pi->pawns_on_same_color_squares(Us, s); - // Penalty for knight when there are few enemy pawns - if (Pt == KNIGHT) - score -= KnightPawns * std::max(5 - pos.count(Them), 0); - // Bishop and knight outposts squares if (!(pos.pieces(Them, PAWN) & pawn_attack_span(Us, s))) score += evaluate_outposts(pos, ei, s); @@ -365,11 +359,6 @@ namespace { if (Pt == ROOK) { - // Rook on 7th rank and enemy king trapped on 8th - if ( relative_rank(Us, s) == RANK_7 - && relative_rank(Us, pos.king_square(Them)) == RANK_8) - score += RookOn7th; - // Rook piece attacking enemy pawns on the same rank/file if (relative_rank(Us, s) >= RANK_5) { @@ -702,9 +691,7 @@ namespace { template int evaluate_space(const Position& pos, const EvalInfo& ei) { - const Color Them = (Us == WHITE ? BLACK : WHITE); - const Square Down = (Us == WHITE ? DELTA_S : DELTA_N); - const Square DownDown = (Us == WHITE ? DELTA_SS : DELTA_NN); + const Color Them = (Us == WHITE ? BLACK : WHITE); // Find the safe squares for our pieces inside the area defined by // SpaceMask[]. A square is unsafe if it is attacked by an enemy @@ -716,8 +703,8 @@ namespace { // Find all squares which are at most three squares behind some friendly pawn Bitboard behind = pos.pieces(Us, PAWN); - behind |= shift_bb< Down>(behind); - behind |= shift_bb(behind); + behind |= (Us == WHITE ? behind >> 8 : behind << 8); + behind |= (Us == WHITE ? behind >> 16 : behind << 16); // Since SpaceMask[Us] is fully on our half of the board assert(unsigned(safe >> (Us == WHITE ? 32 : 0)) == 0);