- bool is_ok(int* failedStep = NULL) const;
-
- // Global initialization
- static void init();
-
-private:
-
- // Initialization helper functions (used while setting up a position)
- void clear();
- void detach();
- void put_piece(Piece p, Square s);
- void set_castle_kingside(Color c);
- void set_castle_queenside(Color c);
- bool set_castling_rights(char token);
- bool move_is_pl_slow(const Move m) const;
-
- // Helper functions for doing and undoing moves
- void do_capture_move(Key& 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<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
- static Score pst(Color c, PieceType pt, Square s);
- Score compute_value() const;
- Value compute_non_pawn_material(Color c) const;
-
- // Board
- Piece board[64];
-
- // Bitboards
- Bitboard byTypeBB[8], byColorBB[2];