]> git.sesse.net Git - stockfish/blobdiff - src/position.h
Revert refinedValue in ProbCut
[stockfish] / src / position.h
index 7dcbb6f479ab91302e964e50de4c64cae5936e65..6c48b54c341676f98a58243a7f42869e2a69e74b 100644 (file)
@@ -178,6 +178,7 @@ public:
 
   // Information about attacks to or from a given square
   Bitboard attackers_to(Square s) const;
+  Bitboard attackers_to(Square s, Bitboard occ) const;
   Bitboard attacks_from(Piece p, Square s) const;
   static Bitboard attacks_from(Piece p, Square s, Bitboard occ);
   template<PieceType> Bitboard attacks_from(Square s) const;
@@ -185,13 +186,10 @@ public:
 
   // Properties of moves
   bool pl_move_is_legal(Move m, Bitboard pinned) const;
-  bool pl_move_is_evasion(Move m, Bitboard pinned) const;
-  bool move_is_legal(const Move m) const;
-  bool move_is_legal(const Move m, Bitboard pinned) const;
+  bool move_is_pl(const Move m) const;
   bool move_gives_check(Move m) const;
   bool move_gives_check(Move m, const CheckInfo& ci) const;
   bool move_is_capture(Move m) const;
-  bool move_is_capture_or_promotion(Move m) const;
   bool move_is_passed_pawn_push(Move m) const;
   bool move_attacks_square(Move m, Square s) const;
 
@@ -215,6 +213,7 @@ public:
   // Static exchange evaluation
   int see(Move m) const;
   int see_sign(Move m) const;
+  static int see_value(PieceType pt);
 
   // Accessing hash keys
   Key get_key() const;
@@ -229,7 +228,7 @@ public:
 
   // Game termination checks
   bool is_mate() const;
-  bool is_draw() const;
+  template<bool SkipRepetition> bool is_draw() const;
 
   // Number of plies from starting position
   int startpos_ply_counter() const;
@@ -261,6 +260,7 @@ private:
   void do_allow_oo(Color c);
   void do_allow_ooo(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);
@@ -467,6 +467,10 @@ inline bool Position::square_is_weak(Square s, Color c) const {
   return !(pieces(PAWN, opposite_color(c)) & attack_span_mask(c, s));
 }
 
+inline int Position::see_value(PieceType pt) {
+  return seeValues[pt];
+}
+
 inline Key Position::get_key() const {
   return st->key;
 }
@@ -527,13 +531,7 @@ inline bool Position::is_chess960() const {
 inline bool Position::move_is_capture(Move m) const {
 
   assert (m != MOVE_NONE && m != MOVE_NULL);
-  return (m & (3 << 15)) ? !move_is_castle(m) : !square_is_empty(move_to(m));
-}
-
-inline bool Position::move_is_capture_or_promotion(Move m) const {
-
-  assert (m != MOVE_NONE && m != MOVE_NULL);
-  return (m & (0x1F << 12)) ? !move_is_castle(m) : !square_is_empty(move_to(m));
+  return !move_is_special(m) ? !square_is_empty(move_to(m)) : move_is_ep(m);
 }
 
 inline PieceType Position::captured_piece_type() const {