X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftypes.h;h=863e0df2f771be35033dd9e22debaa7d524f4203;hb=25b4d0c127af9fe564f7a797460bed4c2837bcc2;hp=5fd54c9e60a39fdf0244ed4829c18f1063713a83;hpb=351ef5c85b6d4b9c71e9da367f0be5ab6e6f8117;p=stockfish diff --git a/src/types.h b/src/types.h index 5fd54c9e..863e0df2 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 @@ -339,6 +348,7 @@ const Value QueenValueEndgame = Value(0x9FE); extern const Value PieceValueMidgame[17]; extern const Value PieceValueEndgame[17]; +extern int SquareDistance[64][64]; inline Value piece_value_midgame(Piece p) { return PieceValueMidgame[p]; @@ -360,11 +370,11 @@ inline Piece make_piece(Color c, PieceType pt) { return Piece((c << 3) | pt); } -inline PieceType type_of_piece(Piece p) { +inline PieceType piece_type(Piece p) { return PieceType(p & 7); } -inline Color color_of_piece(Piece p) { +inline Color piece_color(Piece p) { return Color(p >> 3); } @@ -431,7 +441,7 @@ inline int rank_distance(Square s1, Square s2) { } inline int square_distance(Square s1, Square s2) { - return Max(file_distance(s1, s2), rank_distance(s1, s2)); + return SquareDistance[s1][s2]; } inline char file_to_char(File f) {