- for (Color c = WHITE; c <= BLACK; c++)
- {
- evaluate_pieces<KNIGHT, HasPopCnt>(pos, c, ei);
- evaluate_pieces<BISHOP, HasPopCnt>(pos, c, ei);
- evaluate_pieces<ROOK, HasPopCnt>(pos, c, ei);
- evaluate_pieces<QUEEN, HasPopCnt>(pos, c, ei);
-
- // Sum up all attacked squares
- ei.attackedBy[c][0] = ei.attackedBy[c][PAWN] | ei.attackedBy[c][KNIGHT]
- | ei.attackedBy[c][BISHOP] | ei.attackedBy[c][ROOK]
- | ei.attackedBy[c][QUEEN] | ei.attackedBy[c][KING];
- }
+ evaluate_pieces_of_color<WHITE, HasPopCnt>(pos, ei);
+ evaluate_pieces_of_color<BLACK, HasPopCnt>(pos, ei);