X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=b0758f437af06f61107eadba71e8a506b67b6f2d;hp=9e0f8c3e36da2af2a0c3d58e3bafac44907f46ca;hb=893a08a8c2eac3c2e7d2216b51811cc7378e2239;hpb=542a2b39ed811a3795cdce2416896ffaf2a485cf diff --git a/src/types.h b/src/types.h index 9e0f8c3e..b0758f43 100644 --- a/src/types.h +++ b/src/types.h @@ -2,7 +2,7 @@ Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad - Copyright (C) 2015-2018 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad + Copyright (C) 2015-2019 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -101,7 +101,7 @@ typedef uint64_t Key; typedef uint64_t Bitboard; constexpr int MAX_MOVES = 256; -constexpr int MAX_PLY = 128; +constexpr int MAX_PLY = 246; /// A move needs 16 bits to be stored /// @@ -141,7 +141,11 @@ enum CastlingRight { WHITE_OOO = WHITE_OO << 1, BLACK_OO = WHITE_OO << 2, BLACK_OOO = WHITE_OO << 3, - ANY_CASTLING = WHITE_OO | WHITE_OOO | BLACK_OO | BLACK_OOO, + + WHITE_CASTLING = WHITE_OO | WHITE_OOO, + BLACK_CASTLING = BLACK_OO | BLACK_OOO, + ANY_CASTLING = WHITE_CASTLING | BLACK_CASTLING, + CASTLING_RIGHT_NB = 16 }; @@ -176,11 +180,11 @@ enum Value : int { VALUE_MATE_IN_MAX_PLY = VALUE_MATE - 2 * MAX_PLY, VALUE_MATED_IN_MAX_PLY = -VALUE_MATE + 2 * MAX_PLY, - PawnValueMg = 142, PawnValueEg = 207, - KnightValueMg = 784, KnightValueEg = 868, - BishopValueMg = 828, BishopValueEg = 916, - RookValueMg = 1286, RookValueEg = 1378, - QueenValueMg = 2528, QueenValueEg = 2698, + PawnValueMg = 128, PawnValueEg = 213, + KnightValueMg = 782, KnightValueEg = 865, + BishopValueMg = 830, BishopValueEg = 918, + RookValueMg = 1289, RookValueEg = 1378, + QueenValueMg = 2529, QueenValueEg = 2687, MidgameLimit = 15258, EndgameLimit = 3915 }; @@ -413,11 +417,6 @@ constexpr Rank relative_rank(Color c, Square s) { return relative_rank(c, rank_of(s)); } -inline bool opposite_colors(Square s1, Square s2) { - int s = int(s1) ^ int(s2); - return ((s >> 3) ^ s) & 1; -} - constexpr Direction pawn_push(Color c) { return c == WHITE ? NORTH : SOUTH; }