X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=b6fc06979599704a6bc67acbc367bb3ef0815b9f;hp=03df6d7802547e76f171a85b1369449493311217;hb=258da28e79d99f75e0b626697bda2d459a37c0e6;hpb=19540c9ee824abc156d5a12ab353c250a083da4b diff --git a/src/search.cpp b/src/search.cpp index 03df6d78..b6fc0697 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -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(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;