1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 08:43:09 +00:00

Add Null move support to MovePicker.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Joona Kiiski 2009-08-24 18:00:35 +03:00 committed by Marco Costalba
parent 268c53ac51
commit f6d2452916
2 changed files with 7 additions and 3 deletions

View file

@ -43,7 +43,7 @@ namespace {
/// Variables
CACHE_LINE_ALIGNMENT
const MovegenPhaseT MainSearchPhaseTable[] = { PH_STOP, PH_TT_MOVES, PH_GOOD_CAPTURES, PH_KILLERS, PH_NONCAPTURES, PH_BAD_CAPTURES, PH_STOP};
const MovegenPhaseT MainSearchPhaseTable[] = { PH_STOP, PH_NULL_MOVE, PH_TT_MOVES, PH_GOOD_CAPTURES, PH_KILLERS, PH_NONCAPTURES, PH_BAD_CAPTURES, PH_STOP};
const MovegenPhaseT EvasionsPhaseTable[] = { PH_STOP, PH_EVASIONS, PH_STOP};
const MovegenPhaseT QsearchWithChecksPhaseTable[] = { PH_STOP, PH_TT_MOVES, PH_QCAPTURES, PH_QCHECKS, PH_STOP};
const MovegenPhaseT QsearchWithoutChecksPhaseTable[] = { PH_STOP, PH_TT_MOVES, PH_QCAPTURES, PH_STOP};
@ -63,7 +63,7 @@ namespace {
/// move ordering is at the current node.
MovePicker::MovePicker(const Position& p, Move ttm, Depth d,
const History& h, SearchStack* ss) : pos(p), H(h) {
const History& h, SearchStack* ss, bool useNullMove) : pos(p), H(h) {
ttMoves[0] = ttm;
if (ss)
{
@ -115,6 +115,9 @@ Move MovePicker::get_next_move() {
phasePtr++;
switch (*phasePtr) {
case PH_NULL_MOVE:
break;
case PH_TT_MOVES:
movesPicked = 0; // This is used as index to ttMoves[]
break;

View file

@ -38,6 +38,7 @@
struct SearchStack;
enum MovegenPhase {
PH_NULL_MOVE, // Null move
PH_TT_MOVES, // Transposition table move and mate killer
PH_GOOD_CAPTURES, // Queen promotions and captures with SEE values >= 0
PH_KILLERS, // Killer moves from the current ply
@ -64,7 +65,7 @@ class MovePicker {
MovePicker& operator=(const MovePicker&); // silence a warning under MSVC
public:
MovePicker(const Position& p, Move ttm, Depth d, const History& h, SearchStack* ss = NULL);
MovePicker(const Position& p, Move ttm, Depth d, const History& h, SearchStack* ss = NULL, bool useNullMove = false);
Move get_next_move();
Move get_next_move(Lock& lock);
int number_of_moves() const;