- void put_piece(Piece p, Square s);
- void allow_oo(Color c);
- void allow_ooo(Color c);
-
- // Helper functions for doing and undoing moves
- void do_capture_move(Bitboard& key, PieceType capture, Color them, Square to, bool ep);
- void do_castle_move(Move m);
- void undo_castle_move(Move m);
- void find_checkers();
-
- template<PieceType Piece>
- void update_checkers(Bitboard* pCheckersBB, Square ksq, Square from, Square to, Bitboard dcCandidates);
-
- template<bool FindPinned>
- Bitboard hidden_checkers(Color c) const;
-
- // Computing hash keys from scratch (for initialization and debugging)
- Key compute_key() const;
- Key compute_pawn_key() const;
- Key compute_material_key() const;
-
- // Computing incremental evaluation scores and material counts
- Score pst(Color c, PieceType pt, Square s) const;
- Score compute_value() const;
- Value compute_non_pawn_material(Color c) const;
-
- // Board
- Piece board[64];
-
- // Bitboards
- Bitboard byTypeBB[8], byColorBB[2];
-
- // Piece counts
- int pieceCount[2][8]; // [color][pieceType]
-
- // Piece lists
- Square pieceList[2][8][16]; // [color][pieceType][index]
- int index[64]; // [square]
+ void set_castling_right(Color c, Square rfrom);
+ void set_state(StateInfo* si) const;
+
+ // Helper functions
+ Bitboard check_blockers(Color c, Color kingColor) const;
+ void put_piece(Square s, Color c, PieceType pt);
+ void remove_piece(Square s, Color c, PieceType pt);
+ void move_piece(Square from, Square to, Color c, PieceType pt);
+ template<bool Do>
+ void do_castling(Square from, Square& to, Square& rfrom, Square& rto);
+
+ // Board and pieces
+ Piece board[SQUARE_NB];
+ Bitboard byTypeBB[PIECE_TYPE_NB];
+ Bitboard byColorBB[COLOR_NB];
+ int pieceCount[COLOR_NB][PIECE_TYPE_NB];
+ Square pieceList[COLOR_NB][PIECE_TYPE_NB][16];
+ int index[SQUARE_NB];