]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Better on_change() argument name
[stockfish] / src / search.cpp
index 03df6d7802547e76f171a85b1369449493311217..b6fc06979599704a6bc67acbc367bb3ef0815b9f 100644 (file)
@@ -48,6 +48,7 @@ namespace Search {
 using std::string;
 using std::cout;
 using std::endl;
+using Eval::evaluate;
 using namespace Search;
 
 namespace {
@@ -251,6 +252,7 @@ void Search::think() {
 
   Position& pos = RootPosition;
   Chess960 = pos.is_chess960();
+  Eval::RootColor = pos.side_to_move();
   SearchTime.restart();
   TimeMgr.init(Limits, pos.startpos_ply_counter());
   TT.new_search();
@@ -276,17 +278,6 @@ void Search::think() {
       }
   }
 
-  // Read UCI options: GUI could change UCI parameters during the game
-  read_evaluation_uci_options(pos.side_to_move());
-  Threads.read_uci_options();
-
-  TT.set_size(Options["Hash"]);
-  if (Options["Clear Hash"])
-  {
-      Options["Clear Hash"] = false;
-      TT.clear();
-  }
-
   UCIMultiPV = Options["MultiPV"];
   SkillLevel = Options["Skill Level"];
 
@@ -1344,7 +1335,7 @@ split_point_start: // At split points actual search starts from here
     kingAtt = pos.attacks_from<KING>(ksq);
     pc = pos.piece_moved(move);
 
-    occ = pos.occupied_squares() & ~(1ULL << from) & ~(1ULL << ksq);
+    occ = pos.pieces() ^ from ^ ksq;
     oldAtt = pos.attacks_from(pc, from, occ);
     newAtt = pos.attacks_from(pc,   to, occ);
 
@@ -1412,7 +1403,7 @@ split_point_start: // At split points actual search starts from here
     ksq = pos.king_square(pos.side_to_move());
     if (    piece_is_slider(p1)
         && (squares_between(t1, ksq) & f2)
-        && (pos.attacks_from(p1, t1, pos.occupied_squares() ^ f2) & ksq))
+        && (pos.attacks_from(p1, t1, pos.pieces() ^ f2) & ksq))
         return true;
 
     return false;