X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=ceba25881058d8135a0f50cdff3afc44d56ea4de;hp=7c7ce95cebcf27d72960c0d34d45857e3d10f052;hb=b8c00efa2767ebf74545d2ba4bd344ef7c963319;hpb=384bff4264f199ded8fa28d241ce0e7dc021a97c diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 7c7ce95c..ceba2588 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -523,7 +523,6 @@ namespace { b = attackedBy[Them][ALL_PIECES] & ~stronglyProtected & attackedBy[Us][ALL_PIECES]; - score += RestrictedPiece * popcount(b); // Protected or unattacked squares @@ -698,15 +697,9 @@ namespace { template Score Evaluation::initiative(Score score) const { - Value mg = mg_value(score); - Value eg = eg_value(score); - int outflanking = distance(pos.square(WHITE), pos.square(BLACK)) - distance(pos.square(WHITE), pos.square(BLACK)); - bool infiltration = rank_of(pos.square(WHITE)) > RANK_4 - || rank_of(pos.square(BLACK)) < RANK_5; - bool pawnsOnBothFlanks = (pos.pieces(PAWN) & QueenSide) && (pos.pieces(PAWN) & KingSide); @@ -714,15 +707,21 @@ namespace { && outflanking < 0 && !pawnsOnBothFlanks; + bool infiltration = rank_of(pos.square(WHITE)) > RANK_4 + || rank_of(pos.square(BLACK)) < RANK_5; + // Compute the initiative bonus for the attacking side int complexity = 9 * pe->passed_count() + 11 * pos.count() + 9 * outflanking - + 12 * infiltration + 21 * pawnsOnBothFlanks + + 24 * infiltration + 51 * !pos.non_pawn_material() - 43 * almostUnwinnable - - 100 ; + -110 ; + + Value mg = mg_value(score); + Value eg = eg_value(score); // Now apply the bonus: note that we find the attacking side by extracting the // sign of the midgame or endgame values, and that we carefully cap the bonus