From: Marco Costalba Date: Sat, 1 Nov 2014 21:18:15 +0000 (+0100) Subject: Retire ScalePawnSpan[] X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=42a20920e5259dbe3efd9002fbc7176a9f071636;ds=sidebyside Retire ScalePawnSpan[] Obscure, undocmented and misnamed array. Replace with the direct formula: it is much more clear what the code does. No functional change. Resolves #90 --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 057fd70c..2161bf94 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -198,8 +198,6 @@ namespace { // scores, indexed by a calculated integer number. Score KingDanger[128]; - const int ScalePawnSpan[2] = { 38, 56 }; - // apply_weight() weighs score 'v' by weight 'w' trying to prevent overflow Score apply_weight(Score v, const Weight& w) { return make_score(mg_value(v) * w.mg / 256, eg_value(v) * w.eg / 256); @@ -783,7 +781,7 @@ namespace { else if ( abs(eg_value(score)) <= BishopValueEg && ei.pi->pawn_span(strongSide) <= 1 && !pos.pawn_passed(~strongSide, pos.king_square(~strongSide))) - sf = ScaleFactor(ScalePawnSpan[ei.pi->pawn_span(strongSide)]); + sf = ei.pi->pawn_span(strongSide) ? ScaleFactor(56) : ScaleFactor(38); } // Interpolate between a middlegame and a (scaled by 'sf') endgame score