]> git.sesse.net Git - stockfish/blobdiff - src/types.h
Introduce make_castle_right() helper
[stockfish] / src / types.h
index 2a3b41fab8f7ee234852deb6b9498f97fd72a031..5b5bc1f227785d6a80b1d7a57e936bfd44df6cae 100644 (file)
 #  define FORCE_INLINE  inline
 #endif
 
-#if defined(__GNUC__)
-#  define THREAD_LOCAL  __thread
-#else
-#  define THREAD_LOCAL  __declspec(thread)
-#endif
-
 #if defined(USE_POPCNT)
 const bool HasPopCnt = true;
 #else
@@ -85,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;
@@ -142,6 +136,11 @@ enum CastleRight {
   ALL_CASTLES  = 15
 };
 
+enum CastlingSide {
+  KING_SIDE,
+  QUEEN_SIDE
+};
+
 enum ScaleFactor {
   SCALE_FACTOR_DRAW   = 0,
   SCALE_FACTOR_NORMAL = 64,
@@ -348,6 +347,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);
 }