X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=5f86227c2c5e9718e4ec76a967638167054ebff0;hp=503bed29e6806712769ce4855a84664e566c96dc;hb=6b7efa0cd14b73416c9030462f79a02bbfc7ad2c;hpb=08634b06a398016bb5457b8b03d313b37e3716d0 diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 503bed29..5f86227c 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -430,6 +430,13 @@ Value do_evaluate(const Position& pos, EvalInfo& ei, int threadID) { factor[BLACK] = sf; } + // If we don't already have an unusual scale factor, use pawn + // evaluation ones. + if (factor[WHITE] == SCALE_FACTOR_NORMAL) + factor[WHITE] = ei.pi->scale_factor(WHITE); + if (factor[BLACK] == SCALE_FACTOR_NORMAL) + factor[BLACK] = ei.pi->scale_factor(BLACK); + // Interpolate between the middle game and the endgame score Color stm = pos.side_to_move(); @@ -961,7 +968,7 @@ namespace { qsq = relative_square(Us, make_square(square_file(s), RANK_8)); d = square_distance(s, qsq) - square_distance(theirKingSq, qsq) - + (Us != pos.side_to_move()); + + int(Us != pos.side_to_move()); if (d < 0) { @@ -1217,11 +1224,10 @@ namespace { SafetyTable[i] = Value((int)(a * (i - b) * (i - b))); } - for (int i = 0; i < 100; i++) + for (int i = 1; i < 100; i++) { - if (SafetyTable[i+1] - SafetyTable[i] > maxSlope) - for (int j = i + 1; j < 100; j++) - SafetyTable[j] = SafetyTable[j-1] + Value(maxSlope); + if (SafetyTable[i] - SafetyTable[i - 1] > maxSlope) + SafetyTable[i] = SafetyTable[i - 1] + Value(maxSlope); if (SafetyTable[i] > Value(peak)) SafetyTable[i] = Value(peak);