X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fevaluate.cpp;h=873dc5d20693956bea19b72f07acc764a2c14008;hb=7bd23d4d04d6644b6ccae8ea63cfc6646e4248dd;hp=12883fcc43e57a8a18f71e407f3604816a989321;hpb=66bf45b99e2061c1ba74f9975bc5059ac0121dfd;p=stockfish diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 12883fcc..873dc5d2 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -1048,20 +1048,22 @@ make_v: Value Eval::evaluate(const Position& pos, int* complexity) { + assert(!pos.checkers()); + Value v; Value psq = pos.psq_eg_stm(); // We use the much less accurate but faster Classical eval when the NNUE // option is set to false. Otherwise we use the NNUE eval unless the - // PSQ advantage is decisive and several pieces remain. (~3 Elo) - bool useClassical = !useNNUE || (pos.count() > 7 && abs(psq) > 1781); + // PSQ advantage is decisive. (~4 Elo at STC, 1 Elo at LTC) + bool useClassical = !useNNUE || abs(psq) > 2048; if (useClassical) v = Evaluation(pos).value(); else { int nnueComplexity; - int scale = 1001 + 5 * pos.count() + 61 * pos.non_pawn_material() / 4096; + int scale = 1001 + pos.non_pawn_material() / 64; Color stm = pos.side_to_move(); Value optimism = pos.this_thread()->optimism[stm];