for (Bitboard b = 0ULL; b < 256ULL; b++)
{
- assert(count_1s<false>(b) == int(uint8_t(count_1s<false>(b))));
- BitCount8Bit[b] = (uint8_t)count_1s<false>(b);
+ assert(count_1s(b) == int(uint8_t(count_1s(b))));
+ BitCount8Bit[b] = (uint8_t)count_1s(b);
}
}
// quality of the pawn shelter.
int attackUnits =
Min((ei.kingAttackersCount[them] * ei.kingAttackersWeight[them]) / 2, 25)
- + (ei.kingAdjacentZoneAttacksCount[them] + count_1s_max_15<false>(undefended)) * 3
+ + (ei.kingAdjacentZoneAttacksCount[them] + count_1s_max_15(undefended)) * 3
+ InitKingDanger[relative_square(us, s)] - (shelter >> 5);
// Analyse safe queen contact checks
{
// The bitboard b now contains the squares available for safe queen
// contact checks.
- int count = count_1s_max_15<false>(b);
+ int count = count_1s_max_15(b);
attackUnits += QueenContactCheckBonus * count * (sente ? 2 : 1);
// Is there a mate threat?
// Queen checks
b2 = b & ei.attacked_by(them, QUEEN);
if( b2)
- attackUnits += QueenCheckBonus * count_1s_max_15<false>(b2);
+ attackUnits += QueenCheckBonus * count_1s_max_15(b2);
// Rook checks
b2 = b & ei.attacked_by(them, ROOK);
if (b2)
- attackUnits += RookCheckBonus * count_1s_max_15<false>(b2);
+ attackUnits += RookCheckBonus * count_1s_max_15(b2);
}
if (QueenCheckBonus > 0 || BishopCheckBonus > 0)
{
// Queen checks
b2 = b & ei.attacked_by(them, QUEEN);
if (b2)
- attackUnits += QueenCheckBonus * count_1s_max_15<false>(b2);
+ attackUnits += QueenCheckBonus * count_1s_max_15(b2);
// Bishop checks
b2 = b & ei.attacked_by(them, BISHOP);
if (b2)
- attackUnits += BishopCheckBonus * count_1s_max_15<false>(b2);
+ attackUnits += BishopCheckBonus * count_1s_max_15(b2);
}
if (KnightCheckBonus > 0)
{
// Knight checks
b2 = b & ei.attacked_by(them, KNIGHT);
if (b2)
- attackUnits += KnightCheckBonus * count_1s_max_15<false>(b2);
+ attackUnits += KnightCheckBonus * count_1s_max_15(b2);
}
// Analyse discovered checks (only for non-pawns right now, consider
{
b = p.discovered_check_candidates(them) & ~p.pawns();
if (b)
- attackUnits += DiscoveredCheckBonus * count_1s_max_15<false>(b) * (sente? 2 : 1);
+ attackUnits += DiscoveredCheckBonus * count_1s_max_15(b) * (sente? 2 : 1);
}
// Has a mate threat been found? We don't do anything here if the
if (d < 0)
{
int mtg = RANK_8 - relative_rank(us, s);
- int blockerCount = count_1s_max_15<false>(squares_in_front_of(us,s) & pos.occupied_squares());
+ int blockerCount = count_1s_max_15(squares_in_front_of(us,s) & pos.occupied_squares());
mtg += blockerCount;
d += blockerCount;
if (d < 0)
behindFriendlyPawns |= (behindFriendlyPawns << 16);
}
- int space = count_1s_max_15<false>(safeSquares)
- + count_1s_max_15<false>(behindFriendlyPawns & safeSquares);
+ int space = count_1s_max_15(safeSquares)
+ + count_1s_max_15(behindFriendlyPawns & safeSquares);
ei.mgValue += Sign[us] * apply_weight(Value(space * ei.mi->space_weight()), WeightSpace);
}