Value eg_value() const;
Value non_pawn_material(Color c) const;
Phase game_phase() const;
+ Value mg_pst_delta(Move m) const;
// Game termination checks
bool is_mate();
return MgPieceSquareTable[piece_of_color_and_type(c, pt)][s];
}
+inline Value Position::mg_pst_delta(Move m) const {
+ return MgPieceSquareTable[piece_on(move_from(m))][move_to(m)]
+ -MgPieceSquareTable[piece_on(move_from(m))][move_from(m)];
+}
+
inline Value Position::eg_pst(Color c, PieceType pt, Square s) const {
return EgPieceSquareTable[piece_of_color_and_type(c, pt)][s];
}