- // attackCount[color] is the number of pieces of the given color which
- // attack a square adjacent to the enemy king.
- int attackCount[2];
-
- // attackWeight[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 attackWeight[2];
-
- // attacked[color] is the number of enemy piece 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 attacked[BLACK].
- int attacked[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);