mirror of
https://github.com/opelly27/Stockfish.git
synced 2026-05-20 09:47:46 +00:00
Temporary revert "Expose EvalInfo struct to search"
It is not needed for the release and introduces a slowdown, although very small. Probably it will be readded after the release. No functional change.
This commit is contained in:
+1
-43
@@ -20,56 +20,14 @@
|
||||
#if !defined(EVALUATE_H_INCLUDED)
|
||||
#define EVALUATE_H_INCLUDED
|
||||
|
||||
#include "material.h"
|
||||
#include "pawns.h"
|
||||
#include "types.h"
|
||||
|
||||
class Position;
|
||||
|
||||
namespace Eval {
|
||||
|
||||
// Struct Eval::Info contains various information computed and collected
|
||||
// by the evaluation functions.
|
||||
struct Info {
|
||||
|
||||
// Pointers to material and pawn hash table entries
|
||||
Material::Entry* mi;
|
||||
Pawns::Entry* pi;
|
||||
|
||||
// attackedBy[color][piece type] is a bitboard representing all squares
|
||||
// attacked by a given color and piece type, attackedBy[color][ALL_PIECES]
|
||||
// contains all squares attacked by the given color.
|
||||
Bitboard attackedBy[COLOR_NB][PIECE_TYPE_NB];
|
||||
|
||||
// kingRing[color] is the zone around the king which is considered
|
||||
// by the king safety evaluation. This consists of the squares directly
|
||||
// adjacent to the king, and the three (or two, for a king on an edge file)
|
||||
// squares two ranks in front of the king. For instance, if black's king
|
||||
// is on g8, kingRing[BLACK] is a bitboard containing the squares f8, h8,
|
||||
// f7, g7, h7, f6, g6 and h6.
|
||||
Bitboard kingRing[COLOR_NB];
|
||||
|
||||
// kingAttackersCount[color] is the number of pieces of the given color
|
||||
// which attack a square in the kingRing of the enemy king.
|
||||
int kingAttackersCount[COLOR_NB];
|
||||
|
||||
// kingAttackersWeight[color] is the sum of the "weight" of the pieces of the
|
||||
// given color which attack a square in the kingRing of the enemy king. The
|
||||
// weights of the individual piece types are given by the variables
|
||||
// QueenAttackWeight, RookAttackWeight, BishopAttackWeight and
|
||||
// KnightAttackWeight in evaluate.cpp
|
||||
int kingAttackersWeight[COLOR_NB];
|
||||
|
||||
// kingAdjacentZoneAttacksCount[color] is the number of attacks to squares
|
||||
// directly adjacent to the king of the given color. Pieces which attack
|
||||
// more than one square are counted multiple times. For instance, if black's
|
||||
// king is on g8 and there's a white knight on g5, this knight adds
|
||||
// 2 to kingAdjacentZoneAttacksCount[BLACK].
|
||||
int kingAdjacentZoneAttacksCount[COLOR_NB];
|
||||
};
|
||||
|
||||
extern void init();
|
||||
extern Value evaluate(const Position& pos, Value& margin, Info* ei);
|
||||
extern Value evaluate(const Position& pos, Value& margin);
|
||||
extern std::string trace(const Position& pos);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user