- // kingAttackersCount[color] is the number of pieces of the given color which
- // attack a square adjacent to the enemy king.
- int kingAttackersCount[2];
-
- // kingAttackersWeight[color] is the sum of the "weight" of the pieces of the
- // given color which attack a square adjacent to 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[2];
-
- // kingZoneAttacksCount[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 kingZoneAttacksCount[BLACK].
- int kingZoneAttacksCount[2];
-
- // mateThreat[color] is a move for the given side which gives a direct mate.
- Move mateThreat[2];
-
- // Middle game and endgame mobility scores.
- Value mgMobility, egMobility;
-
- // Extra futility margin. This is added to the standard futility margin
- // in the quiescence search.
- Value futilityMargin;
-};
-
-
-////
-//// Prototypes
-////
-
-extern Value evaluate(const Position &pos, EvalInfo &ei, int threadID);
-extern Value quick_evaluate(const Position &pos);