X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=b0758f437af06f61107eadba71e8a506b67b6f2d;hp=fdf7ba93dc63a017ce136b369d79b891b3dfb8d8;hb=893a08a8c2eac3c2e7d2216b51811cc7378e2239;hpb=41cc4eb953b2574ea8858c6d52f09fb1574179c8 diff --git a/src/types.h b/src/types.h index fdf7ba93..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,14 +141,12 @@ 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, - CASTLING_RIGHT_NB = 16 -}; -template struct MakeCastling { - static constexpr CastlingRight - right = C == WHITE ? S == QUEEN_SIDE ? WHITE_OOO : WHITE_OO - : S == QUEEN_SIDE ? BLACK_OOO : BLACK_OO; + WHITE_CASTLING = WHITE_OO | WHITE_OOO, + BLACK_CASTLING = BLACK_OO | BLACK_OOO, + ANY_CASTLING = WHITE_CASTLING | BLACK_CASTLING, + + CASTLING_RIGHT_NB = 16 }; enum Phase { @@ -182,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 = 175, PawnValueEg = 240, - KnightValueMg = 784, KnightValueEg = 868, - BishopValueMg = 831, BishopValueEg = 919, - RookValueMg = 1286, RookValueEg = 1378, - QueenValueMg = 2527, QueenValueEg = 2697, + PawnValueMg = 128, PawnValueEg = 213, + KnightValueMg = 782, KnightValueEg = 865, + BishopValueMg = 830, BishopValueEg = 918, + RookValueMg = 1289, RookValueEg = 1378, + QueenValueMg = 2529, QueenValueEg = 2687, MidgameLimit = 15258, EndgameLimit = 3915 }; @@ -419,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; }