X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.h;h=4bd3e214d1ba98c9e3f8c6d80c190e0c8c24b5b1;hp=5d3d85fecca9f23f4bd50cd4b377f0cd83933f86;hb=a530fc2b600da4e9247a0e0242dead246d824c68;hpb=e677185567173a0b50f0ca47bd2496c5f814dab4 diff --git a/src/pawns.h b/src/pawns.h index 5d3d85fe..4bd3e214 100644 --- a/src/pawns.h +++ b/src/pawns.h @@ -45,10 +45,9 @@ class PawnInfo { friend class PawnInfoTable; public: - PawnInfo() : key(0) { clear(); } + PawnInfo() { clear(); } - Value mg_value() const; - Value eg_value() const; + Score value() const; Value kingside_storm_value(Color c) const; Value queenside_storm_value(Color c) const; Bitboard pawn_attacks(Color c) const; @@ -85,6 +84,11 @@ public: PawnInfo* get_pawn_info(const Position& pos); private: + typedef std::pair Values; + + template + Values evaluate_pawns(const Position& pos, Bitboard ourPawns, Bitboard theirPawns, PawnInfo* pi); + unsigned size; PawnInfo* entries; }; @@ -94,12 +98,8 @@ private: //// Inline functions //// -inline Value PawnInfo::mg_value() const { - return Value(mgValue); -} - -inline Value PawnInfo::eg_value() const { - return Value(egValue); +inline Score PawnInfo::value() const { + return make_score(mgValue, egValue); } inline Bitboard PawnInfo::passed_pawns() const {