Merge official-stockfish/master
authorFabian Fichter <ianfab@users.noreply.github.com>
Sat, 6 Jul 2019 11:15:04 +0000 (13:15 +0200)
committerFabian Fichter <ianfab@users.noreply.github.com>
Sat, 6 Jul 2019 11:15:04 +0000 (13:15 +0200)
bench: 3655793

1  2 
src/benchmark.cpp
src/evaluate.cpp
src/misc.cpp
src/movepick.cpp
src/pawns.cpp
src/search.cpp
src/types.h
src/uci.cpp

@@@ -159,10 -139,9 +159,10 @@@ vector<string> 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)
@@@ -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/misc.cpp
Simple merge
Simple merge
diff --cc src/pawns.cpp
@@@ -199,18 -182,14 +206,14 @@@ template<Color Us
  void Entry::evaluate_shelter(const Position& pos, Square ksq, Score& shelter) {
  
    constexpr Color     Them = (Us == WHITE ? BLACK : WHITE);
-   constexpr Direction Down = (Us == WHITE ? SOUTH : NORTH);
-   Bitboard  BlockSquares = (rank_bb(relative_rank(Us, RANK_1, pos.max_rank())) | rank_bb(relative_rank(Us, RANK_2, pos.max_rank())))
-                           & (FileABB | file_bb(pos.max_file()));
  
 -  Bitboard b = pos.pieces(PAWN) & ~forward_ranks_bb(Them, ksq);
 +  Bitboard b = pos.pieces(PAWN, SHOGI_PAWN) & ~forward_ranks_bb(Them, ksq);
    Bitboard ourPawns = b & pos.pieces(Us);
    Bitboard theirPawns = b & pos.pieces(Them);
  
-   Value bonus[] = { (shift<Down>(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
@@@ -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
@@@ -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)
  
diff --cc src/uci.cpp
Simple merge