X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=1bbc0a36eb7f12e1b043b3dace6d5aa986d75363;hp=f7ae19775dbdfba7d173e2e36315ef6437b61d50;hb=ad1f28bc1c1c5426fb8ab246f5d43ad57002b4d5;hpb=e5077dc11e8047eb8ce32a166a73e433a7e19b15 diff --git a/src/evaluate.cpp b/src/evaluate.cpp index f7ae1977..1bbc0a36 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 @@ -275,7 +275,6 @@ Value do_evaluate(const Position& pos, Value& margin) { Value margins[2]; Score score, mobilityWhite, mobilityBlack; - assert(pos.is_ok()); assert(pos.thread() >= 0 && pos.thread() < MAX_THREADS); assert(!pos.in_check()); @@ -486,11 +485,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 +526,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