}
} // r > RANK_3
- // Scale down bonus for candidate passers which need more than one
- // pawn push to become passed, or have a pawn in front of them.
- if ( !pos.pawn_passed(Us, s + Up)
- || (pos.pieces(PAWN) & (s + Up)))
- bonus = bonus / 2;
-
score += bonus - PassedFile * edge_distance(file_of(s));
}
{
if ( pos.opposite_bishops()
&& pos.non_pawn_material() == 2 * BishopValueMg)
- sf = 22 ;
+ sf = 22;
else
sf = std::min(sf, 36 + (pos.opposite_bishops() ? 2 : 7) * pos.count<PAWN>(strongSide));