/// ordering is at the current node.
MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const HistoryStats& h,
- const CounterMoveStats& cmh, const CounterMoveStats& fmh, Move cm, Search::Stack* s)
- : pos(p), history(h), counterMoveHistory(&cmh), followupMoveHistory(&fmh), ss(s), countermove(cm), depth(d) {
+ const CounterMoveStats& cmh, const CounterMoveStats& fmh,
+ Move cm, Search::Stack* s)
+ : pos(p), history(h), counterMoveHistory(&cmh),
+ followupMoveHistory(&fmh), ss(s), countermove(cm), depth(d) {
assert(d > DEPTH_ZERO);
MovePicker::MovePicker(const Position& p, Move ttm, Depth d,
const HistoryStats& h, Square s)
- : pos(p), history(h), counterMoveHistory(nullptr), followupMoveHistory(nullptr) {
+ : pos(p), history(h) {
assert(d <= DEPTH_ZERO);
}
MovePicker::MovePicker(const Position& p, Move ttm, const HistoryStats& h, Value th)
- : pos(p), history(h), counterMoveHistory(nullptr), followupMoveHistory(nullptr), threshold(th) {
+ : pos(p), history(h), threshold(th) {
assert(!pos.checkers());
for (auto& m : *this)
m.value = history[pos.moved_piece(m)][to_sq(m)]
- + (*counterMoveHistory)[pos.moved_piece(m)][to_sq(m)]
+ + (*counterMoveHistory )[pos.moved_piece(m)][to_sq(m)]
+ (*followupMoveHistory)[pos.moved_piece(m)][to_sq(m)];
}