]> git.sesse.net Git - stockfish/blobdiff - src/position.h
Coding style in move.cpp
[stockfish] / src / position.h
index d0087c3ba1c61968242de69b2d0858ea256fe179..a149bddb1bf59033134f52ca355e67cfdf349340 100644 (file)
@@ -60,6 +60,14 @@ struct StateInfo {
   StateInfo* previous;
 };
 
+struct ReducedStateInfo {
+  Key pawnKey, materialKey;
+  Value npMaterial[2];
+  int castleRights, rule50, pliesFromNull;
+  Score psqScore;
+  Square epSquare;
+};
+
 
 /// The position data structure. A position consists of the following data:
 ///
@@ -133,6 +141,7 @@ public:
   // Properties of moves
   bool move_gives_check(Move m, const CheckInfo& ci) const;
   bool move_attacks_square(Move m, Square s) const;
+  bool move_is_legal(const Move m) const;
   bool pl_move_is_legal(Move m, Bitboard pinned) const;
   bool is_pseudo_legal(const Move m) const;
   bool is_capture(Move m) const;
@@ -189,7 +198,6 @@ private:
   void clear();
   void put_piece(Piece p, Square s);
   void set_castle_right(Color c, Square rfrom);
-  bool move_is_legal(const Move m) const;
 
   // Helper template functions
   template<bool Do> void do_castle_move(Move m);
@@ -302,7 +310,7 @@ inline int Position::can_castle(CastleRight f) const {
 }
 
 inline int Position::can_castle(Color c) const {
-  return st->castleRights & ((WHITE_OO | WHITE_OOO) << c);
+  return st->castleRights & ((WHITE_OO | WHITE_OOO) << (2 * c));
 }
 
 inline bool Position::castle_impeded(Color c, CastlingSide s) const {