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:
///
}
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 {