X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.h;h=0098a963db224a478d74eed4164d24acb5ffebad;hp=39fc9e3f16aa94c0acdebe3191448ca32178c0b4;hb=af750bd2ef919ba8aca8986c40f06cd58f0aef05;hpb=7f4c7cd785fed40b4c778c1b21f1cc99621bab32 diff --git a/src/pawns.h b/src/pawns.h index 39fc9e3f..0098a963 100644 --- a/src/pawns.h +++ b/src/pawns.h @@ -17,7 +17,7 @@ along with this program. If not, see . */ -#if !defined(PAWNS_H_INCLUDED) +#ifndef PAWNS_H_INCLUDED #define PAWNS_H_INCLUDED #include "misc.h" @@ -37,10 +37,12 @@ struct Entry { Score pawns_value() const { return value; } Bitboard pawn_attacks(Color c) const { return pawnAttacks[c]; } Bitboard passed_pawns(Color c) const { return passedPawns[c]; } - int file_is_half_open(Color c, File f) const { return halfOpenFiles[c] & (1 << int(f)); } - int pawns_on_same_color_squares(Color c, Square s) const { return pawnsOnSquares[c][!!(BlackSquares & s)]; } - int has_open_file_on_side(Color c, File f, bool left) const { - return halfOpenFiles[c] & (left ? ((1 << int(f)) - 1) : ~((1 << int(f+1)) - 1)); + Bitboard candidate_pawns(Color c) const { return candidatePawns[c]; } + int pawns_on_same_color_squares(Color c, Square s) const { return pawnsOnSquares[c][!!(DarkSquares & s)]; } + int semiopen(Color c, File f) const { return semiopenFiles[c] & (1 << int(f)); } + int semiopen_on_side(Color c, File f, bool left) const { + + return semiopenFiles[c] & (left ? ((1 << int(f)) - 1) : ~((1 << int(f+1)) - 1)); } template @@ -58,12 +60,13 @@ struct Entry { Key key; Bitboard passedPawns[COLOR_NB]; + Bitboard candidatePawns[COLOR_NB]; Bitboard pawnAttacks[COLOR_NB]; Square kingSquares[COLOR_NB]; int minKPdistance[COLOR_NB]; int castleRights[COLOR_NB]; Score value; - int halfOpenFiles[COLOR_NB]; + int semiopenFiles[COLOR_NB]; Score kingSafety[COLOR_NB]; int pawnsOnSquares[COLOR_NB][COLOR_NB]; }; @@ -74,4 +77,4 @@ Entry* probe(const Position& pos, Table& entries); } -#endif // !defined(PAWNS_H_INCLUDED) +#endif // #ifndef PAWNS_H_INCLUDED