X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=f85ad9a92c9e2c8be9ff0f718ff5552b8fe8f1c5;hp=d02755c1adcbd46eeb83f8c1bb89f8eb87198a6f;hb=b9f8cb78372773128257866881f632bce0884aed;hpb=72760c05c64d1fb2bb71c2ac54acfbeecf513b87 diff --git a/src/types.h b/src/types.h index d02755c1..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 @@ -337,6 +346,17 @@ const Value RookValueEndgame = Value(0x4FE); const Value QueenValueMidgame = Value(0x9D9); const Value QueenValueEndgame = Value(0x9FE); +extern const Value PieceValueMidgame[17]; +extern const Value PieceValueEndgame[17]; + +inline Value piece_value_midgame(Piece p) { + return PieceValueMidgame[p]; +} + +inline Value piece_value_endgame(Piece p) { + return PieceValueEndgame[p]; +} + inline Value value_mate_in(int ply) { return VALUE_MATE - ply; } @@ -349,11 +369,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); }