From 20c2a314642b8fb911a8e00895544581d4ee2dda Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Wed, 20 May 2009 15:12:45 +0200 Subject: [PATCH] Retire lastMove from Position class Is not used in any way so remove. No functional change. Signed-off-by: Marco Costalba --- src/position.cpp | 4 +--- src/position.h | 29 +++++++++++++---------------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index c121c497..83fc6aba 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1425,10 +1425,9 @@ void Position::do_null_move(StateInfo& backupSt) { // Back up the information necessary to undo the null move to the supplied // StateInfo object. In the case of a null move, the only thing we need to - // remember is the last move made and the en passant square. + // remember is the en passant square. // Note that differently from normal case here backupSt is actually used as // a backup storage not as a new state to be used. - backupSt.lastMove = st->lastMove; backupSt.epSquare = st->epSquare; backupSt.previous = st->previous; st->previous = &backupSt; @@ -1462,7 +1461,6 @@ void Position::undo_null_move() { assert(!is_check()); // Restore information from the our backup StateInfo object - st->lastMove = st->previous->lastMove; st->epSquare = st->previous->epSquare; st->previous = st->previous->previous; diff --git a/src/position.h b/src/position.h index 2a952345..ed9b8edc 100644 --- a/src/position.h +++ b/src/position.h @@ -21,7 +21,7 @@ #if !defined(POSITION_H_INCLUDED) #define POSITION_H_INCLUDED -// Disable a silly and noisy warning from MSVC compiler +// Disable some silly and noisy warning from MSVC compiler #if defined(_MSC_VER) // Forcing value to bool 'true' or 'false' (performance warning) @@ -50,13 +50,12 @@ //// Constants //// -/// FEN string for the initial position: -const std::string StartPosition = - "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; +/// FEN string for the initial position +const std::string StartPosition = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; /// Maximum number of plies per game (220 should be enough, because the /// maximum search depth is 100, and during position setup we reset the -/// move counter for every non-reversible move): +/// move counter for every non-reversible move). const int MaxGameLength = 220; @@ -67,11 +66,11 @@ const int MaxGameLength = 220; /// Castle rights, encoded as bit fields enum CastleRights { - NO_CASTLES = 0, - WHITE_OO = 1, - BLACK_OO = 2, - WHITE_OOO = 4, - BLACK_OOO = 8, + NO_CASTLES = 0, + WHITE_OO = 1, + BLACK_OO = 2, + WHITE_OOO = 4, + BLACK_OOO = 8, ALL_CASTLES = 15 }; @@ -95,31 +94,29 @@ struct StateInfo { PieceType capture; Bitboard checkersBB; - Move lastMove; StateInfo* previous; }; -/// The position data structure. A position consists of the following data: +/// The position data structure. A position consists of the following data: /// /// * For each piece type, a bitboard representing the squares occupied /// by pieces of that type. -/// * For each color, a bitboard representing the squares occupiecd by +/// * For each color, a bitboard representing the squares occupied by /// pieces of that color. /// * A bitboard of all occupied squares. /// * A bitboard of all checking pieces. /// * A 64-entry array of pieces, indexed by the squares of the board. /// * The current side to move. /// * Information about the castling rights for both sides. -/// * The initial files of the kings and both pairs of rooks. This is +/// * The initial files of the kings and both pairs of rooks. This is /// used to implement the Chess960 castling rules. /// * The en passant square (which is SQ_NONE if no en passant capture is /// possible). /// * The squares of the kings for both sides. -/// * The last move played. /// * Hash keys for the position itself, the current pawn structure, and /// the current material situation. -/// * Hash keys for all previous positions in the game (for detecting +/// * Hash keys for all previous positions in the game for detecting /// repetition draws. /// * A counter for detecting 50 move rule draws. -- 2.39.2