mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Clean up comments for movepicker
Remove references to checks in MovePicker comments. Follow-up for https://github.com/official-stockfish/Stockfish/pull/5498 closes https://github.com/official-stockfish/Stockfish/pull/5516 No functional change
This commit is contained in:
parent
607c3e404f
commit
af802da65b
3 changed files with 25 additions and 27 deletions
|
@ -74,12 +74,10 @@ void partial_insertion_sort(ExtMove* begin, ExtMove* end, int limit) {
|
|||
|
||||
|
||||
// Constructors of the MovePicker class. As arguments, we pass information
|
||||
// to help it return the (presumably) good moves first, to decide which
|
||||
// moves to return (in the quiescence search, for instance, we only want to
|
||||
// search captures, promotions, and some checks) and how important a good
|
||||
// move ordering is at the current node.
|
||||
// to decide which class of moves to emit, to help sorting the (presumably)
|
||||
// good moves first, and how important move ordering is at the current node.
|
||||
|
||||
// MovePicker constructor for the main search
|
||||
// MovePicker constructor for the main search and for the quiescence search
|
||||
MovePicker::MovePicker(const Position& p,
|
||||
Move ttm,
|
||||
Depth d,
|
||||
|
@ -102,8 +100,8 @@ MovePicker::MovePicker(const Position& p,
|
|||
stage = (depth > 0 ? MAIN_TT : QSEARCH_TT) + !(ttm && pos.pseudo_legal(ttm));
|
||||
}
|
||||
|
||||
// Constructor for ProbCut: we generate captures with SEE greater than or equal
|
||||
// to the given threshold.
|
||||
// MovePicker constructor for ProbCut: we generate captures with Static Exchange
|
||||
// Evaluation (SEE) greater than or equal to the given threshold.
|
||||
MovePicker::MovePicker(const Position& p, Move ttm, int th, const CapturePieceToHistory* cph) :
|
||||
pos(p),
|
||||
captureHistory(cph),
|
||||
|
@ -115,9 +113,9 @@ MovePicker::MovePicker(const Position& p, Move ttm, int th, const CapturePieceTo
|
|||
+ !(ttm && pos.capture_stage(ttm) && pos.pseudo_legal(ttm) && pos.see_ge(ttm, threshold));
|
||||
}
|
||||
|
||||
// Assigns a numerical value to each move in a list, used
|
||||
// for sorting. Captures are ordered by Most Valuable Victim (MVV), preferring
|
||||
// captures with a good history. Quiets moves are ordered using the history tables.
|
||||
// Assigns a numerical value to each move in a list, used for sorting.
|
||||
// Captures are ordered by Most Valuable Victim (MVV), preferring captures
|
||||
// with a good history. Quiets moves are ordered using the history tables.
|
||||
template<GenType Type>
|
||||
void MovePicker::score() {
|
||||
|
||||
|
@ -191,7 +189,7 @@ void MovePicker::score() {
|
|||
}
|
||||
|
||||
// Returns the next move satisfying a predicate function.
|
||||
// It never returns the TT move.
|
||||
// This never returns the TT move, as it was emitted before.
|
||||
template<MovePicker::PickType T, typename Pred>
|
||||
Move MovePicker::select(Pred filter) {
|
||||
|
||||
|
@ -208,9 +206,9 @@ Move MovePicker::select(Pred filter) {
|
|||
return Move::none();
|
||||
}
|
||||
|
||||
// Most important method of the MovePicker class. It
|
||||
// returns a new pseudo-legal move every time it is called until there are no more
|
||||
// moves left, picking the move with the highest score from a list of generated moves.
|
||||
// This is the most important method of the MovePicker class. We emit one
|
||||
// new pseudo-legal move on every call until there are no more moves left,
|
||||
// picking the move with the highest score from a list of generated moves.
|
||||
Move MovePicker::next_move(bool skipQuiets) {
|
||||
|
||||
auto quiet_threshold = [](Depth d) { return -3560 * d; };
|
||||
|
|
|
@ -137,12 +137,12 @@ using PawnHistory = Stats<int16_t, 8192, PAWN_HISTORY_SIZE, PIECE_NB, SQUARE_NB>
|
|||
using CorrectionHistory =
|
||||
Stats<int16_t, CORRECTION_HISTORY_LIMIT, COLOR_NB, CORRECTION_HISTORY_SIZE>;
|
||||
|
||||
// MovePicker class is used to pick one pseudo-legal move at a time from the
|
||||
// current position. The most important method is next_move(), which returns a
|
||||
// new pseudo-legal move each time it is called, until there are no moves left,
|
||||
// when Move::none() is returned. In order to improve the efficiency of the
|
||||
// alpha-beta algorithm, MovePicker attempts to return the moves which are most
|
||||
// likely to get a cut-off first.
|
||||
// The MovePicker class is used to pick one pseudo-legal move at a time from the
|
||||
// current position. The most important method is next_move(), which emits one
|
||||
// new pseudo-legal move on every call, until there are no moves left, when
|
||||
// Move::none() is returned. In order to improve the efficiency of the alpha-beta
|
||||
// algorithm, MovePicker attempts to return the moves which are most likely to get
|
||||
// a cut-off first.
|
||||
class MovePicker {
|
||||
|
||||
enum PickType {
|
||||
|
|
|
@ -20,18 +20,18 @@
|
|||
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <list>
|
||||
#include <atomic>
|
||||
#include <cassert>
|
||||
#include <chrono>
|
||||
#include <cmath>
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <initializer_list>
|
||||
#include <iostream>
|
||||
#include <list>
|
||||
#include <ratio>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <chrono>
|
||||
#include <iostream>
|
||||
#include <ratio>
|
||||
|
||||
#include "evaluate.h"
|
||||
#include "misc.h"
|
||||
|
@ -1520,11 +1520,11 @@ Value Search::Worker::qsearch(Position& pos, Stack* ss, Value alpha, Value beta)
|
|||
const PieceToHistory* contHist[] = {(ss - 1)->continuationHistory,
|
||||
(ss - 2)->continuationHistory};
|
||||
|
||||
Square prevSq = ((ss - 1)->currentMove).is_ok() ? ((ss - 1)->currentMove).to_sq() : SQ_NONE;
|
||||
|
||||
// Initialize a MovePicker object for the current position, and prepare to search
|
||||
// the moves. We presently use two stages of move generator in quiescence search:
|
||||
// first captures+checks, then captures only (but when in check, we simply search
|
||||
// all evasions).
|
||||
Square prevSq = ((ss - 1)->currentMove).is_ok() ? ((ss - 1)->currentMove).to_sq() : SQ_NONE;
|
||||
// captures, or evasions only when in check.
|
||||
MovePicker mp(pos, ttData.move, DEPTH_QS, &thisThread->mainHistory, &thisThread->captureHistory,
|
||||
contHist, &thisThread->pawnHistory);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue