mirror of
https://github.com/sockspls/badfish
synced 2025-05-02 09:39:36 +00:00
MovePicker doesn't need to know if called from a pv node
This was needed by an old optimization in sorting of non-captures that is now obsoleted by new std::sort() approach. Remove also the unused depth member data. Interestingly this has always been unused since the Glaurung days. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
c7843f2f79
commit
3e0753bef3
4 changed files with 11 additions and 18 deletions
|
@ -63,10 +63,8 @@ namespace {
|
||||||
/// search captures, promotions and some checks) and about how important good
|
/// search captures, promotions and some checks) and about how important good
|
||||||
/// move ordering is at the current node.
|
/// move ordering is at the current node.
|
||||||
|
|
||||||
MovePicker::MovePicker(const Position& p, bool pv, Move ttm, Depth d,
|
MovePicker::MovePicker(const Position& p, Move ttm, Depth d,
|
||||||
const History& h, SearchStack* ss) : pos(p), H(h) {
|
const History& h, SearchStack* ss) : pos(p), H(h) {
|
||||||
|
|
||||||
pvNode = pv;
|
|
||||||
ttMove = ttm;
|
ttMove = ttm;
|
||||||
if (ss)
|
if (ss)
|
||||||
{
|
{
|
||||||
|
@ -76,17 +74,14 @@ MovePicker::MovePicker(const Position& p, bool pv, Move ttm, Depth d,
|
||||||
} else
|
} else
|
||||||
mateKiller = killer1 = killer2 = MOVE_NONE;
|
mateKiller = killer1 = killer2 = MOVE_NONE;
|
||||||
|
|
||||||
depth = d;
|
movesPicked = numOfMoves = numOfBadCaptures = 0;
|
||||||
movesPicked = 0;
|
checkKillers = checkLegal = finished = false;
|
||||||
numOfMoves = 0;
|
|
||||||
numOfBadCaptures = 0;
|
|
||||||
checkKillers = checkLegal = false;
|
|
||||||
|
|
||||||
if (p.is_check())
|
if (p.is_check())
|
||||||
phaseIndex = EvasionsPhaseIndex;
|
phaseIndex = EvasionsPhaseIndex;
|
||||||
else if (depth > Depth(0))
|
else if (d > Depth(0))
|
||||||
phaseIndex = MainSearchPhaseIndex;
|
phaseIndex = MainSearchPhaseIndex;
|
||||||
else if (depth == Depth(0))
|
else if (d == Depth(0))
|
||||||
phaseIndex = QsearchWithChecksPhaseIndex;
|
phaseIndex = QsearchWithChecksPhaseIndex;
|
||||||
else
|
else
|
||||||
phaseIndex = QsearchWithoutChecksPhaseIndex;
|
phaseIndex = QsearchWithoutChecksPhaseIndex;
|
||||||
|
|
|
@ -65,7 +65,7 @@ public:
|
||||||
PH_STOP
|
PH_STOP
|
||||||
};
|
};
|
||||||
|
|
||||||
MovePicker(const Position& p, bool pvnode, Move ttm, Depth d, const History& h, SearchStack* ss = NULL);
|
MovePicker(const Position& p, Move ttm, Depth d, const History& h, SearchStack* ss = NULL);
|
||||||
Move get_next_move();
|
Move get_next_move();
|
||||||
Move get_next_move(Lock& lock);
|
Move get_next_move(Lock& lock);
|
||||||
int number_of_moves() const;
|
int number_of_moves() const;
|
||||||
|
@ -85,8 +85,6 @@ private:
|
||||||
Move ttMove, mateKiller, killer1, killer2;
|
Move ttMove, mateKiller, killer1, killer2;
|
||||||
Bitboard pinned, dc;
|
Bitboard pinned, dc;
|
||||||
MoveStack moves[256], badCaptures[64];
|
MoveStack moves[256], badCaptures[64];
|
||||||
bool pvNode;
|
|
||||||
Depth depth;
|
|
||||||
int phaseIndex;
|
int phaseIndex;
|
||||||
int numOfMoves, numOfBadCaptures;
|
int numOfMoves, numOfBadCaptures;
|
||||||
int movesPicked;
|
int movesPicked;
|
||||||
|
|
|
@ -141,7 +141,7 @@ Move move_from_san(const Position& pos, const string& movestr) {
|
||||||
|
|
||||||
assert(pos.is_ok());
|
assert(pos.is_ok());
|
||||||
|
|
||||||
MovePicker mp = MovePicker(pos, false, MOVE_NONE, OnePly, H);
|
MovePicker mp = MovePicker(pos, MOVE_NONE, OnePly, H);
|
||||||
|
|
||||||
// Castling moves
|
// Castling moves
|
||||||
if (movestr == "O-O-O" || movestr == "O-O-O+")
|
if (movestr == "O-O-O" || movestr == "O-O-O+")
|
||||||
|
@ -365,7 +365,7 @@ namespace {
|
||||||
if (type_of_piece(pc) == KING)
|
if (type_of_piece(pc) == KING)
|
||||||
return AMBIGUITY_NONE;
|
return AMBIGUITY_NONE;
|
||||||
|
|
||||||
MovePicker mp = MovePicker(pos, false, MOVE_NONE, OnePly, H);
|
MovePicker mp = MovePicker(pos, MOVE_NONE, OnePly, H);
|
||||||
Move mv, moveList[8];
|
Move mv, moveList[8];
|
||||||
|
|
||||||
int n = 0;
|
int n = 0;
|
||||||
|
|
|
@ -1054,7 +1054,7 @@ namespace {
|
||||||
|
|
||||||
// Initialize a MovePicker object for the current position, and prepare
|
// Initialize a MovePicker object for the current position, and prepare
|
||||||
// to search all moves
|
// to search all moves
|
||||||
MovePicker mp = MovePicker(pos, true, ttMove, depth, Threads[threadID].H, &ss[ply]);
|
MovePicker mp = MovePicker(pos, ttMove, depth, Threads[threadID].H, &ss[ply]);
|
||||||
|
|
||||||
Move move, movesSearched[256];
|
Move move, movesSearched[256];
|
||||||
int moveCount = 0;
|
int moveCount = 0;
|
||||||
|
@ -1315,7 +1315,7 @@ namespace {
|
||||||
|
|
||||||
// Initialize a MovePicker object for the current position, and prepare
|
// Initialize a MovePicker object for the current position, and prepare
|
||||||
// to search all moves:
|
// to search all moves:
|
||||||
MovePicker mp = MovePicker(pos, false, ttMove, depth, Threads[threadID].H, &ss[ply]);
|
MovePicker mp = MovePicker(pos, ttMove, depth, Threads[threadID].H, &ss[ply]);
|
||||||
|
|
||||||
Move move, movesSearched[256];
|
Move move, movesSearched[256];
|
||||||
int moveCount = 0;
|
int moveCount = 0;
|
||||||
|
@ -1535,7 +1535,7 @@ namespace {
|
||||||
// Initialize a MovePicker object for the current position, and prepare
|
// Initialize a MovePicker object for the current position, and prepare
|
||||||
// to search the moves. Because the depth is <= 0 here, only captures,
|
// to search the moves. Because the depth is <= 0 here, only captures,
|
||||||
// queen promotions and checks (only if depth == 0) will be generated.
|
// queen promotions and checks (only if depth == 0) will be generated.
|
||||||
MovePicker mp = MovePicker(pos, pvNode, ttMove, depth, Threads[threadID].H);
|
MovePicker mp = MovePicker(pos, ttMove, depth, Threads[threadID].H);
|
||||||
Move move;
|
Move move;
|
||||||
int moveCount = 0;
|
int moveCount = 0;
|
||||||
Bitboard dcCandidates = mp.discovered_check_candidates();
|
Bitboard dcCandidates = mp.discovered_check_candidates();
|
||||||
|
|
Loading…
Add table
Reference in a new issue