X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=8648ea74e871f268afdf6af6e32fef40ff152aae;hp=f7ae19775dbdfba7d173e2e36315ef6437b61d50;hb=a042449f5d63ad3459f92f93fb98053f9f3b5a8b;hpb=e5077dc11e8047eb8ce32a166a73e433a7e19b15 diff --git a/src/evaluate.cpp b/src/evaluate.cpp index f7ae1977..8648ea74 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -88,7 +88,7 @@ namespace { // // Values modified by Joona Kiiski const Score WeightsInternal[] = { - S(284, 229), S(252, 259), S(46, 0), S(209, 0), S(349, 0) + S(248, 271), S(252, 259), S(46, 0), S(247, 0), S(259, 0) }; // MobilityBonus[PieceType][attacked] contains mobility bonuses for middle and @@ -486,11 +486,11 @@ namespace { const BitCountType Full = HasPopCnt ? CNT_POPCNT : CpuIs64Bit ? CNT64 : CNT32; const BitCountType Max15 = HasPopCnt ? CNT_POPCNT : CpuIs64Bit ? CNT64_MAX15 : CNT32_MAX15; const Color Them = (Us == WHITE ? BLACK : WHITE); - const Square* ptr = pos.piece_list_begin(Us, Piece); + const Square* pl = pos.piece_list(Us, Piece); ei.attackedBy[Us][Piece] = EmptyBoardBB; - while ((s = *ptr++) != SQ_NONE) + while ((s = *pl++) != SQ_NONE) { // Find attacked squares, including x-ray attacks for bishops and rooks if (Piece == KNIGHT || Piece == QUEEN) @@ -527,7 +527,8 @@ namespace { score -= ThreatenedByPawnPenalty[Piece]; // Bishop and knight outposts squares - if ((Piece == BISHOP || Piece == KNIGHT) && pos.square_is_weak(s, Us)) + if ( (Piece == BISHOP || Piece == KNIGHT) + && !(pos.pieces(PAWN, Them) & attack_span_mask(Us, s))) score += evaluate_outposts(pos, ei, s); // Queen or rook on 7th rank