From f25582d4b8860ff9fbe7dcf9873ed2986b1a7ed2 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Wed, 29 Jun 2011 17:40:33 +0100 Subject: [PATCH] Remove duplicated enum Phase definition No functional change. Signed-off-by: Marco Costalba --- src/material.h | 7 ++++++ src/position.cpp | 6 ++--- src/position.h | 60 +++++++++++++++--------------------------------- src/types.h | 9 ++++++++ 4 files changed, 37 insertions(+), 45 deletions(-) diff --git a/src/material.h b/src/material.h index c99320c6..114e24d5 100644 --- a/src/material.h +++ b/src/material.h @@ -27,6 +27,13 @@ const int MaterialTableSize = 8192; +/// Game phase +enum Phase { + PHASE_ENDGAME = 0, + PHASE_MIDGAME = 128 +}; + + /// MaterialInfo is a class which contains various information about a /// material configuration. It contains a material balance evaluation, /// a function pointer to a special endgame evaluation function (which in diff --git a/src/position.cpp b/src/position.cpp index e526885e..690ca59b 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -42,7 +42,7 @@ Key Position::zobCastle[16]; Key Position::zobSideToMove; Key Position::zobExclusion; -Score Position::PieceSquareTable[16][64]; +Score Position::pieceSquareTable[16][64]; // Material values arrays, indexed by Piece const Value PieceValueMidgame[17] = { @@ -1750,11 +1750,11 @@ void Position::init() { for (Square s = SQ_A1; s <= SQ_H8; s++) for (Piece p = WP; p <= WK; p++) - PieceSquareTable[p][s] = make_score(MgPST[p][s], EgPST[p][s]); + pieceSquareTable[p][s] = make_score(MgPST[p][s], EgPST[p][s]); for (Square s = SQ_A1; s <= SQ_H8; s++) for (Piece p = BP; p <= BK; p++) - PieceSquareTable[p][s] = -PieceSquareTable[p-8][flip_square(s)]; + pieceSquareTable[p][s] = -pieceSquareTable[p-8][flip_square(s)]; } diff --git a/src/position.h b/src/position.h index cdc43364..0cc6a0ca 100644 --- a/src/position.h +++ b/src/position.h @@ -31,10 +31,9 @@ /// move counter for every non-reversible move). const int MaxGameLength = 220; -class Position; -/// struct checkInfo is initialized at c'tor time and keeps -/// info used to detect if a move gives check. +/// The checkInfo struct is initialized at c'tor time and keeps info used +/// to detect if a move gives check. struct CheckInfo { @@ -45,28 +44,12 @@ struct CheckInfo { Bitboard checkSq[8]; }; -/// Castle rights, encoded as bit fields - -enum CastleRight { - CASTLES_NONE = 0, - WHITE_OO = 1, - BLACK_OO = 2, - WHITE_OOO = 4, - BLACK_OOO = 8, - ALL_CASTLES = 15 -}; - -/// Game phase -enum Phase { - PHASE_ENDGAME = 0, - PHASE_MIDGAME = 128 -}; - /// The StateInfo struct stores information we need to restore a Position /// object to its previous state when we retract a move. Whenever a move /// is made on the board (by calling Position::do_move), an StateInfo object /// must be passed as a parameter. +class Position; struct StateInfo { Key pawnKey, materialKey; @@ -110,12 +93,6 @@ class Position { Position(const Position& pos); public: - enum GamePhase { - MidGame, - EndGame - }; - - // Constructors Position(const Position& pos, int threadID); Position(const std::string& fen, bool isChess960, int threadID); @@ -124,9 +101,6 @@ public: const std::string to_fen() const; void print(Move m = MOVE_NONE) const; - // Copying - void flip(); - // The piece on a given square Piece piece_on(Square s) const; bool square_is_empty(Square s) const; @@ -234,6 +208,7 @@ public: // Position consistency check, for debugging bool is_ok(int* failedStep = NULL) const; + void flip(); // Global initialization static void init(); @@ -267,23 +242,24 @@ private: Value compute_non_pawn_material(Color c) const; // Board - Piece board[64]; + Piece board[64]; // [square] // Bitboards - Bitboard byTypeBB[8], byColorBB[2]; + Bitboard byTypeBB[8]; // [pieceType] + Bitboard byColorBB[2]; // [color] // Piece counts - int pieceCount[2][8]; // [color][pieceType] + int pieceCount[2][8]; // [color][pieceType] // Piece lists - Square pieceList[2][8][16]; // [color][pieceType][index] - int index[64]; // [square] + Square pieceList[2][8][16]; // [color][pieceType][index] + int index[64]; // [square] // Other info Color sideToMove; Key history[MaxGameLength]; - int castleRightsMask[64]; - Square castleRookSquare[16]; // [CastleRights] + int castleRightsMask[64]; // [square] + Square castleRookSquare[16]; // [castleRight] StateInfo startState; bool chess960; int fullMoves; @@ -292,11 +268,11 @@ private: StateInfo* st; // Static variables - static Key zobrist[2][8][64]; - static Key zobEp[64]; - static Key zobCastle[16]; + static Score pieceSquareTable[16][64]; // [piece][square] + static Key zobrist[2][8][64]; // [color][pieceType][square] + static Key zobEp[64]; // [square] + static Key zobCastle[16]; // [castleRight] static Key zobSideToMove; - static Score PieceSquareTable[16][64]; static Key zobExclusion; }; @@ -430,11 +406,11 @@ inline Key Position::get_material_key() const { } inline Score Position::pst(Piece p, Square s) const { - return PieceSquareTable[p][s]; + return pieceSquareTable[p][s]; } inline Score Position::pst_delta(Piece piece, Square from, Square to) const { - return PieceSquareTable[piece][to] - PieceSquareTable[piece][from]; + return pieceSquareTable[piece][to] - pieceSquareTable[piece][from]; } inline Score Position::value() const { diff --git a/src/types.h b/src/types.h index 873c1885..f85ad9a9 100644 --- a/src/types.h +++ b/src/types.h @@ -252,6 +252,15 @@ enum ScaleFactor { SCALE_FACTOR_NONE = 255 }; +enum CastleRight { + CASTLES_NONE = 0, + WHITE_OO = 1, + BLACK_OO = 2, + WHITE_OOO = 4, + BLACK_OOO = 8, + ALL_CASTLES = 15 +}; + /// Score enum keeps a midgame and an endgame value in a single /// integer (enum), first LSB 16 bits are used to store endgame -- 2.39.2