StateInfo* previous;
};
-class TranspositionTable;
/// The position data structure. A position consists of the following data:
///
void undo_move(Move m);
void do_null_move(StateInfo& st);
void undo_null_move();
- void setTranspositionTable(TranspositionTable* tt);
// Static exchange evaluation
int see(Square from, Square to) const;
void allow_ooo(Color c);
// Helper functions for doing and undoing moves
- void do_capture_move(PieceType capture, Color them, Square to);
+ void do_capture_move(Bitboard& key, PieceType capture, Color them, Square to, bool ep);
void do_castle_move(Move m);
- void do_promotion_move(Move m);
- void do_ep_move(Move m);
void undo_castle_move(Move m);
- void undo_promotion_move(Move m);
- void undo_ep_move(Move m);
void find_checkers();
template<PieceType Piece>
// Piece lists
Square pieceList[2][8][16]; // [color][pieceType][index]
- int index[64];
+ int index[64]; // [square]
// Other info
Square kingSquare[2];
File initialKFile, initialKRFile, initialQRFile;
StateInfo startState;
StateInfo* st;
- TranspositionTable* TT;
// Static variables
static int castleRightsMask[64];