X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=cf0b3f953dedcad5826f47c21a2deb2fd6000699;hp=031cb0babda381b50f1643a9dfe2a945a3a12a02;hb=5e905800887da94d481978d3bddd9539b2111458;hpb=6e00aa6bae8a9634b3aea4b7b0bde652a588e9de diff --git a/src/types.h b/src/types.h index 031cb0ba..cf0b3f95 100644 --- a/src/types.h +++ b/src/types.h @@ -79,8 +79,8 @@ const bool Is64Bit = false; typedef uint64_t Key; typedef uint64_t Bitboard; -const int MAX_MOVES = 256; -const int MAX_PLY = 256; +const int MAX_MOVES = 192; +const int MAX_PLY = 100; const int MAX_PLY_PLUS_2 = MAX_PLY + 2; const Bitboard FileABB = 0x0101010101010101ULL; @@ -136,6 +136,11 @@ enum CastleRight { ALL_CASTLES = 15 }; +enum CastlingSide { + KING_SIDE, + QUEEN_SIDE +}; + enum ScaleFactor { SCALE_FACTOR_DRAW = 0, SCALE_FACTOR_NORMAL = 64, @@ -306,21 +311,20 @@ inline Score apply_weight(Score v, Score w) { #undef ENABLE_OPERATORS_ON #undef ENABLE_SAFE_OPERATORS_ON -const Value PawnValueMidgame = Value(0x0C6); -const Value PawnValueEndgame = Value(0x102); -const Value KnightValueMidgame = Value(0x331); -const Value KnightValueEndgame = Value(0x34E); -const Value BishopValueMidgame = Value(0x344); -const Value BishopValueEndgame = Value(0x359); -const Value RookValueMidgame = Value(0x4F6); -const Value RookValueEndgame = Value(0x4FE); -const Value QueenValueMidgame = Value(0x9D9); -const Value QueenValueEndgame = Value(0x9FE); +const Value PawnValueMidgame = Value(198); +const Value PawnValueEndgame = Value(258); +const Value KnightValueMidgame = Value(817); +const Value KnightValueEndgame = Value(846); +const Value BishopValueMidgame = Value(836); +const Value BishopValueEndgame = Value(857); +const Value RookValueMidgame = Value(1270); +const Value RookValueEndgame = Value(1278); +const Value QueenValueMidgame = Value(2521); +const Value QueenValueEndgame = Value(2558); extern const Value PieceValueMidgame[17]; // Indexed by Piece or PieceType extern const Value PieceValueEndgame[17]; extern int SquareDistance[64][64]; -extern uint8_t BitCount8Bit[256]; inline Color operator~(Color c) { return Color(c ^ 1); @@ -342,6 +346,10 @@ inline Piece make_piece(Color c, PieceType pt) { return Piece((c << 3) | pt); } +inline CastleRight make_castle_right(Color c, CastlingSide s) { + return CastleRight((s == KING_SIDE ? WHITE_OO : WHITE_OOO) << c); +} + inline PieceType type_of(Piece p) { return PieceType(p & 7); }