X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.h;h=684697acb1738846226910bafb5a3f79813ece39;hp=5d3d85fecca9f23f4bd50cd4b377f0cd83933f86;hb=a0005ba45f7d5c97a096b79065c0b83ae3d81afa;hpb=e677185567173a0b50f0ca47bd2496c5f814dab4 diff --git a/src/pawns.h b/src/pawns.h index 5d3d85fe..684697ac 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 pawns_value() const; Value kingside_storm_value(Color c) const; Value queenside_storm_value(Color c) const; Bitboard pawn_attacks(Color c) const; @@ -65,7 +64,7 @@ private: Key key; Bitboard passedPawns; Bitboard pawnAttacks[2]; - int16_t mgValue, egValue; + Score value; int16_t ksStormValue[2], qsStormValue[2]; uint8_t halfOpenFiles[2]; Square kingSquares[2]; @@ -85,6 +84,9 @@ public: PawnInfo* get_pawn_info(const Position& pos); private: + template + Score evaluate_pawns(const Position& pos, Bitboard ourPawns, Bitboard theirPawns, PawnInfo* pi); + unsigned size; PawnInfo* entries; }; @@ -94,12 +96,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::pawns_value() const { + return value; } inline Bitboard PawnInfo::passed_pawns() const {