X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.h;h=2dc866848aa0cc3adb210ec24ef528caa7fdcc7f;hp=afb456c9036bdd483181b2e3403ca423ce4eb056;hb=f16c231bc9b239cc270e3103be93899f3204df76;hpb=ccdb634b7722a300707b9348ac30ae2c4152da8a diff --git a/src/pawns.h b/src/pawns.h index afb456c9..2dc86684 100644 --- a/src/pawns.h +++ b/src/pawns.h @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2009 Marco Costalba + Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,8 +47,7 @@ class PawnInfo { public: 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,10 +64,10 @@ private: Key key; Bitboard passedPawns; Bitboard pawnAttacks[2]; - int16_t mgValue, egValue; + Square kingSquares[2]; + Score value; int16_t ksStormValue[2], qsStormValue[2]; uint8_t halfOpenFiles[2]; - Square kingSquares[2]; uint8_t kingShelters[2]; }; @@ -85,10 +84,8 @@ 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); + Score evaluate_pawns(const Position& pos, Bitboard ourPawns, Bitboard theirPawns, PawnInfo* pi); unsigned size; PawnInfo* entries; @@ -99,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 {