struct StateInfo {
Key key, pawnKey, materialKey;
int castleRights, rule50;
- Square kingSquare[2], epSquare;
+ Square epSquare;
Value mgValue, egValue;
Value npMaterial[2];
// Piece lists
Square piece_list(Color c, PieceType pt, int index) const;
+ const Square* piece_list_begin(Color c, PieceType pt) const;
// Information about attacks to or from a given square
Bitboard attackers_to(Square s) const;
return pieceList[c][pt][index];
}
+inline const Square* Position::piece_list_begin(Color c, PieceType pt) const {
+ return pieceList[c][pt];
+}
+
inline Square Position::ep_square() const {
return st->epSquare;
}
inline Square Position::king_square(Color c) const {
- return st->kingSquare[c];
+ return pieceList[c][KING][0];
}
inline bool Position::can_castle_kingside(Color side) const {