]> git.sesse.net Git - stockfish/blobdiff - src/position.h
Increase max threads to 128
[stockfish] / src / position.h
index baf49705db7a6e00034a9ed9f561f267fda9b9cc..36d65fb87b5ef11771294b6acc34fef1208a7f5f 100644 (file)
@@ -164,29 +164,22 @@ public:
   bool is_draw() const;
 
   // Position consistency check, for debugging
-  bool pos_is_ok(int* failedStep = NULL) const;
+  bool pos_is_ok(int* step = NULL) const;
   void flip();
 
 private:
   // Initialization helpers (used while setting up a position)
   void clear();
   void set_castling_right(Color c, Square rfrom);
+  void set_state(StateInfo* si) const;
 
   // Helper functions
-  void do_castling(Square kfrom, Square kto, Square rfrom, Square rto);
   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);
-
-  // 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 compute_psq_score() const;
-  Value compute_non_pawn_material(Color c) const;
+  template<bool Do>
+  void do_castling(Square from, Square& to, Square& rfrom, Square& rto);
 
   // Board and pieces
   Piece board[SQUARE_NB];
@@ -292,7 +285,7 @@ inline Square Position::castling_rook_square(CastlingRight cr) const {
 template<PieceType Pt>
 inline Bitboard Position::attacks_from(Square s) const {
 
-  return  Pt == BISHOP || Pt == ROOK ? attacks_bb<Pt>(s, pieces())
+  return  Pt == BISHOP || Pt == ROOK ? attacks_bb<Pt>(s, byTypeBB[ALL_PIECES])
         : Pt == QUEEN  ? attacks_from<ROOK>(s) | attacks_from<BISHOP>(s)
         : StepAttacksBB[Pt][s];
 }