From: Marco Costalba Date: Sun, 9 Jun 2013 10:43:12 +0000 (+0200) Subject: Introduce operator~(Piece c) X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=db4cd89cb889446fb349d0d93640b640b1b9a8a1 Introduce operator~(Piece c) Small syntactic sugar to reverse piece color. No functional change. --- diff --git a/src/position.cpp b/src/position.cpp index d145ddfa..2227c553 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -85,17 +85,17 @@ void init() { side = rk.rand(); exclusion = rk.rand(); - for (PieceType pt = PAWN; pt <= KING; pt++) + for (Piece pc = W_PAWN; pc <= W_KING; pc++) { - PieceValue[MG][make_piece(BLACK, pt)] = PieceValue[MG][pt]; - PieceValue[EG][make_piece(BLACK, pt)] = PieceValue[EG][pt]; + PieceValue[MG][~pc] = PieceValue[MG][pc]; + PieceValue[EG][~pc] = PieceValue[EG][pc]; - Score v = make_score(PieceValue[MG][pt], PieceValue[EG][pt]); + Score v = make_score(PieceValue[MG][pc], PieceValue[EG][pc]); for (Square s = SQ_A1; s <= SQ_H8; s++) { - pieceSquareTable[make_piece(WHITE, pt)][ s] = (v + PSQT[pt][s]); - pieceSquareTable[make_piece(BLACK, pt)][~s] = -(v + PSQT[pt][s]); + pieceSquareTable[ pc][ s] = (v + PSQT[pc][s]); + pieceSquareTable[~pc][~s] = -(v + PSQT[pc][s]); } } } diff --git a/src/psqtab.h b/src/psqtab.h index ca39fe88..3a6b1015 100644 --- a/src/psqtab.h +++ b/src/psqtab.h @@ -25,7 +25,7 @@ #define S(mg, eg) make_score(mg, eg) -/// PSQT[PieceType][Square] contains Piece-Square scores. For each piece type on +/// PSQT[Piece][Square] contains Piece-Square scores. For each piece type on /// a given square a (midgame, endgame) score pair is assigned. PSQT is defined /// for white side, for black side the tables are symmetric. diff --git a/src/types.h b/src/types.h index 653ebade..ac2ca0e7 100644 --- a/src/types.h +++ b/src/types.h @@ -359,6 +359,10 @@ inline Square operator~(Square s) { return Square(s ^ 56); // Vertical flip SQ_A1 -> SQ_A8 } +inline Piece operator~(Piece c) { + return Piece(c ^ 8); +} + inline Square operator|(File f, Rank r) { return Square((r << 3) | f); }