1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 19:49:14 +00:00

Use Them instead of ~Us

Unortunatly we have no guarantee that the call to
operator~(Color c) is resolved at compile time.

Perhaps the solution would be to use C++11 const_expr,
but for now simply use the good old-style ternary operator
that works as expected.

No functional change.
This commit is contained in:
Marco Costalba 2013-05-11 11:32:34 +02:00
parent bcbc9bfd1f
commit 818a3537a7

View file

@ -148,12 +148,14 @@ namespace {
// as WIN, the position is classified WIN otherwise the current position is // as WIN, the position is classified WIN otherwise the current position is
// classified UNKNOWN. // classified UNKNOWN.
const Color Them = (Us == WHITE ? BLACK : WHITE);
Result r = INVALID; Result r = INVALID;
Bitboard b = StepAttacksBB[KING][Us == WHITE ? wksq : bksq]; Bitboard b = StepAttacksBB[KING][Us == WHITE ? wksq : bksq];
while (b) while (b)
r |= Us == WHITE ? db[index(~Us, bksq, pop_lsb(&b), psq)] r |= Us == WHITE ? db[index(Them, bksq, pop_lsb(&b), psq)]
: db[index(~Us, pop_lsb(&b), wksq, psq)]; : db[index(Them, pop_lsb(&b), wksq, psq)];
if (Us == WHITE && rank_of(psq) < RANK_7) if (Us == WHITE && rank_of(psq) < RANK_7)
{ {