From: Fabian Fichter Date: Sat, 6 Jul 2019 11:15:04 +0000 (+0200) Subject: Merge official-stockfish/master X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=e9ee211b43092bcd9f01948bf808f788ff2b2fae;p=fairystockfish.git Merge official-stockfish/master bench: 3655793 --- e9ee211b43092bcd9f01948bf808f788ff2b2fae diff --cc src/benchmark.cpp index f8b3f32,b23c5d1..0307360 --- a/src/benchmark.cpp +++ b/src/benchmark.cpp @@@ -159,10 -139,9 +159,10 @@@ vector setup_bench(const Positi file.close(); } - list.emplace_back("ucinewgame"); list.emplace_back("setoption name Threads value " + threads); list.emplace_back("setoption name Hash value " + ttSize); + list.emplace_back("setoption name UCI_Variant value " + varname); + list.emplace_back("ucinewgame"); for (const string& fen : fens) if (fen.find("setoption") != string::npos) diff --cc src/evaluate.cpp index 207646d,f2e822d..d2f1c13 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@@ -140,10 -132,8 +140,11 @@@ namespace S(-30,-14), S(-9, -8), S( 0, 9), S( -1, 7) }; + // KingProximity contains a penalty according to distance from king + constexpr Score KingProximity = S(1, 3); + // Assorted bonuses and penalties + constexpr Score AttacksOnSpaceArea = S( 4, 0); constexpr Score BishopPawns = S( 3, 7); constexpr Score CorneredBishop = S( 50, 50); constexpr Score FlankAttacks = S( 8, 0); diff --cc src/pawns.cpp index 7c2a345,c85d4fd..5fc5dd9 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@@ -199,18 -182,14 +206,14 @@@ template(theirPawns) & BlockSquares & ksq) ? Value(374) : Value(5), - VALUE_ZERO }; + Value bonus[] = { Value(5), Value(5) }; - File center = clamp(file_of(ksq), FILE_B, FILE_G); + File center = clamp(file_of(ksq), FILE_B, File(pos.max_file() - 1)); for (File f = File(center - 1); f <= File(center + 1); ++f) { b = ourPawns & file_bb(f); diff --cc src/search.cpp index 13914f8,b4a6909..d72e749 --- a/src/search.cpp +++ b/src/search.cpp @@@ -886,8 -918,14 +936,14 @@@ moves_loop: // When in check, search st if (rootNode && thisThread == Threads.main() && Time.elapsed() > 3000) sync_cout << "info depth " << depth / ONE_PLY - << " currmove " << UCI::move(move, pos.is_chess960()) + << " currmove " << UCI::move(pos, move) << " currmovenumber " << moveCount + thisThread->pvIdx << sync_endl; + + // In MultiPV mode also skip moves which will be searched later as PV moves + if (rootNode && std::count(thisThread->rootMoves.begin() + thisThread->pvIdx + 1, + thisThread->rootMoves.begin() + thisThread->multiPV, move)) + continue; + if (PvNode) (ss+1)->pv = nullptr; diff --cc src/types.h index d0bb348,b9c01fe..a01bc97 --- a/src/types.h +++ b/src/types.h @@@ -506,6 -308,6 +505,7 @@@ ENABLE_INCR_OPERATORS_ON(Color ENABLE_INCR_OPERATORS_ON(Square) ENABLE_INCR_OPERATORS_ON(File) ENABLE_INCR_OPERATORS_ON(Rank) ++ENABLE_INCR_OPERATORS_ON(CheckCount) ENABLE_BASE_OPERATORS_ON(Score)