X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovepick.cpp;h=78765beccabc228f0a8c8346866866b061a0d700;hp=3e90750343919224a273a4742a70f93f9d42b9c8;hb=b3525fa9ea88e230a38d72351826cbc16c282938;hpb=85924db496af2fb8d70b6c89b17fc8541339ca19;ds=sidebyside diff --git a/src/movepick.cpp b/src/movepick.cpp index 3e907503..78765bec 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -142,16 +142,20 @@ template<> void MovePicker::score() { const HistoryStats& history = pos.this_thread()->history; + const FromToStats& fromTo = pos.this_thread()->fromTo; const CounterMoveStats* cm = (ss-1)->counterMoves; const CounterMoveStats* fm = (ss-2)->counterMoves; const CounterMoveStats* f2 = (ss-4)->counterMoves; + Color c = pos.side_to_move(); + for (auto& m : *this) m.value = history[pos.moved_piece(m)][to_sq(m)] + (cm ? (*cm)[pos.moved_piece(m)][to_sq(m)] : VALUE_ZERO) + (fm ? (*fm)[pos.moved_piece(m)][to_sq(m)] : VALUE_ZERO) - + (f2 ? (*f2)[pos.moved_piece(m)][to_sq(m)] : VALUE_ZERO); + + (f2 ? (*f2)[pos.moved_piece(m)][to_sq(m)] : VALUE_ZERO) + + fromTo.get(c, m); } template<> @@ -160,6 +164,8 @@ void MovePicker::score() { // by history value, then bad captures and quiet moves with a negative SEE ordered // by SEE value. const HistoryStats& history = pos.this_thread()->history; + const FromToStats& fromTo = pos.this_thread()->fromTo; + Color c = pos.side_to_move(); Value see; for (auto& m : *this) @@ -170,7 +176,7 @@ void MovePicker::score() { m.value = PieceValue[MG][pos.piece_on(to_sq(m))] - Value(type_of(pos.moved_piece(m))) + HistoryStats::Max; else - m.value = history[pos.moved_piece(m)][to_sq(m)]; + m.value = history[pos.moved_piece(m)][to_sq(m)] + fromTo.get(c, m); }