void undo_null_move();
// Static exchange evaluation
- int see(Move m) const;
+ int see(Move m, int asymmThreshold = 0) const;
int see_sign(Move m) const;
- int see_asymm(Move m, int asymmThreshold) const;
// Accessing hash keys
Key key() const;
// Incremental piece-square evaluation
Score psq_score() const;
- Score psq_delta(Piece p, Square from, Square to) const;
Value non_pawn_material(Color c) const;
// Other properties of the position
Thread* this_thread() const;
int64_t nodes_searched() const;
void set_nodes_searched(int64_t n);
- template<bool SkipRepetition> bool is_draw() const;
+ bool is_draw() const;
// Position consistency check, for debugging
bool pos_is_ok(int* failedStep = NULL) const;
// Helper functions
void do_castle(Square kfrom, Square kto, Square rfrom, Square rto);
- template<bool Asymmetric> int do_see(Move m, int asymmThreshold) const;
template<bool FindPinned> Bitboard hidden_checkers() const;
// Computing hash keys from scratch (for initialization and debugging)
return st->materialKey;
}
-inline Score Position::psq_delta(Piece p, Square from, Square to) const {
- return pieceSquareTable[p][to] - pieceSquareTable[p][from];
-}
-
inline Score Position::psq_score() const {
return st->psqScore;
}