mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-19 16:46:30 +08:00
Allow to assign a Move to an ExtMove
After defining ExtMove::operator Move(), this is a natural extension. No fnctional change.
This commit is contained in:
@@ -38,6 +38,7 @@ struct ExtMove {
|
|||||||
Value value;
|
Value value;
|
||||||
|
|
||||||
operator Move() const { return move; }
|
operator Move() const { return move; }
|
||||||
|
void operator=(Move m) { move = m; }
|
||||||
};
|
};
|
||||||
|
|
||||||
inline bool operator<(const ExtMove& f, const ExtMove& s) {
|
inline bool operator<(const ExtMove& f, const ExtMove& s) {
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ namespace {
|
|||||||
inline Move pick_best(ExtMove* begin, ExtMove* end)
|
inline Move pick_best(ExtMove* begin, ExtMove* end)
|
||||||
{
|
{
|
||||||
std::swap(*begin, *std::max_element(begin, end));
|
std::swap(*begin, *std::max_element(begin, end));
|
||||||
return begin->move;
|
return *begin;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
@@ -202,12 +202,12 @@ void MovePicker::generate_next_stage() {
|
|||||||
case KILLERS_S1:
|
case KILLERS_S1:
|
||||||
cur = killers;
|
cur = killers;
|
||||||
endMoves = cur + 6;
|
endMoves = cur + 6;
|
||||||
killers[0].move = ss->killers[0];
|
killers[0] = ss->killers[0];
|
||||||
killers[1].move = ss->killers[1];
|
killers[1] = ss->killers[1];
|
||||||
killers[2].move = countermoves[0];
|
killers[2] = countermoves[0];
|
||||||
killers[3].move = countermoves[1];
|
killers[3] = countermoves[1];
|
||||||
killers[4].move = followupmoves[0];
|
killers[4] = followupmoves[0];
|
||||||
killers[5].move = followupmoves[1];
|
killers[5] = followupmoves[1];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QUIETS_1_S1:
|
case QUIETS_1_S1:
|
||||||
@@ -282,7 +282,7 @@ Move MovePicker::next_move<false>() {
|
|||||||
return move;
|
return move;
|
||||||
|
|
||||||
// Losing capture, move it to the tail of the array
|
// Losing capture, move it to the tail of the array
|
||||||
(endBadCaptures--)->move = move;
|
*endBadCaptures-- = move;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -293,8 +293,7 @@ Move MovePicker::next_move<false>() {
|
|||||||
&& pos.pseudo_legal(move)
|
&& pos.pseudo_legal(move)
|
||||||
&& !pos.capture(move))
|
&& !pos.capture(move))
|
||||||
{
|
{
|
||||||
// Check for duplicated entries
|
for (int i = 0; i < cur - 1 - killers; i++) // Skip duplicated
|
||||||
for (int i = 0; i < cur - 1 - killers; i++)
|
|
||||||
if (move == killers[i])
|
if (move == killers[i])
|
||||||
goto skip;
|
goto skip;
|
||||||
return move;
|
return move;
|
||||||
|
|||||||
Reference in New Issue
Block a user