X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.h;h=557580e11ca3f41ee674ab8a58ee1362249fe39f;hp=5d3d85fecca9f23f4bd50cd4b377f0cd83933f86;hb=4626ec2890b140829e9971658ca948005b945fd4;hpb=e677185567173a0b50f0ca47bd2496c5f814dab4 diff --git a/src/pawns.h b/src/pawns.h index 5d3d85fe..557580e1 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 Score(mgValue, egValue); } inline Bitboard PawnInfo::passed_pawns() const {