void operator<<(int bonus) {
assert(abs(bonus) <= D); // Ensure range is [-W * D, W * D]
void operator<<(int bonus) {
assert(abs(bonus) <= D); // Ensure range is [-W * D, W * D]
/// beta algorithm, MovePicker attempts to return the moves which are most likely
/// to get a cut-off first.
/// beta algorithm, MovePicker attempts to return the moves which are most likely
/// to get a cut-off first.
template<GenType> void score();
ExtMove* begin() { return cur; }
ExtMove* end() { return endMoves; }
template<GenType> void score();
ExtMove* begin() { return cur; }
ExtMove* end() { return endMoves; }
const ButterflyHistory* mainHistory;
const CapturePieceToHistory* captureHistory;
const PieceToHistory** contHistory;
const ButterflyHistory* mainHistory;
const CapturePieceToHistory* captureHistory;
const PieceToHistory** contHistory;