Helper functions to count material for both sides

Syntactic sugar: helper functions to count material or pieces for both sides.

No functional change

Closes #1025
This commit is contained in:
snicolet
2017-03-08 18:45:09 -08:00
committed by Joona Kiiski
parent d490bb9973
commit c3d2e6aba9
3 changed files with 17 additions and 7 deletions
+5 -5
View File
@@ -179,7 +179,7 @@ namespace {
S( 9, 10), S( 2, 10), S( 1, -8), S(-20,-12),
S(-20,-12), S( 1, -8), S( 2, 10), S( 9, 10)
};
// Protector[PieceType-2][distance] contains a protecting bonus for our king,
// indexed by piece type and distance between the piece and the king.
const Score Protector[4][8] = {
@@ -302,7 +302,7 @@ namespace {
int mob = popcount(b & ei.mobilityArea[Us]);
mobility[Us] += MobilityBonus[Pt-2][mob];
// Bonus for this piece as a king protector
score += Protector[Pt-2][distance(s, pos.square<KING>(Us))];
@@ -740,7 +740,7 @@ namespace {
int kingDistance = distance<File>(pos.square<KING>(WHITE), pos.square<KING>(BLACK))
- distance<Rank>(pos.square<KING>(WHITE), pos.square<KING>(BLACK));
int pawns = pos.count<PAWN>(WHITE) + pos.count<PAWN>(BLACK);
int pawns = pos.count<PAWN>();
bool bothFlanks = (pos.pieces(PAWN) & QueenSide) && (pos.pieces(PAWN) & KingSide);
// Compute the initiative bonus for the attacking side
@@ -847,7 +847,7 @@ Value Eval::evaluate(const Position& pos) {
- evaluate_passer_pawns<BLACK, DoTrace>(pos, ei);
// Evaluate space for both sides, only during opening
if (pos.non_pawn_material(WHITE) + pos.non_pawn_material(BLACK) >= 12222)
if (pos.non_pawn_material() >= 12222)
score += evaluate_space<WHITE>(pos, ei)
- evaluate_space<BLACK>(pos, ei);
@@ -870,7 +870,7 @@ Value Eval::evaluate(const Position& pos) {
Trace::add(IMBALANCE, ei.me->imbalance());
Trace::add(PAWN, ei.pe->pawns_score());
Trace::add(MOBILITY, mobility[WHITE], mobility[BLACK]);
if (pos.non_pawn_material(WHITE) + pos.non_pawn_material(BLACK) >= 12222)
if (pos.non_pawn_material() >= 12222)
Trace::add(SPACE, evaluate_space<WHITE>(pos, ei)
, evaluate_space<BLACK>(pos, ei));
Trace::add(TOTAL, score);