/// must be passed as a parameter.
struct StateInfo {
- Bitboard checkersBB;
Key key, pawnKey, materialKey;
int castleRights, rule50;
Square epSquare;
Value mgValue, egValue;
+
PieceType capture;
- StateInfo* previous;
+ Bitboard checkersBB;
Move lastMove;
+ StateInfo* previous;
};
template<PieceType Piece>
void update_checkers(Bitboard* pCheckersBB, Square ksq, Square from, Square to, Bitboard dcCandidates);
- template<PieceType Piece, bool FindPinned>
- Bitboard hidden_checks(Color c, Square ksq, Bitboard& pinners) const;
+ template<bool FindPinned>
+ Bitboard hidden_checkers(Color c) const;
// Computing hash keys from scratch (for initialization and debugging)
Key compute_key() const;