e->passedPawns[Us] |= s;
}
- if (e->passedPawns[Us] & s)
- e->asymmetry++;
-
// Score this pawn
if (supported | phalanx)
score += Connected[opposed][bool(phalanx)][popcount(supported)][relative_rank(Us, s)];
return e;
e->key = key;
- e->asymmetry = 0;
e->scores[WHITE] = evaluate<WHITE>(pos, e);
e->scores[BLACK] = evaluate<BLACK>(pos, e);
- e->asymmetry += popcount(e->semiopenFiles[WHITE] ^ e->semiopenFiles[BLACK]);
- e->openFiles = popcount(e->semiopenFiles[WHITE] & e->semiopenFiles[BLACK]);
+ e->openFiles = popcount(e->semiopenFiles[WHITE] & e->semiopenFiles[BLACK]);
+ e->asymmetry = popcount( (e->passedPawns[WHITE] | e->passedPawns[BLACK])
+ | (e->semiopenFiles[WHITE] ^ e->semiopenFiles[BLACK]));
return e;
}