};
// Pawn storm open file bonuses by file
- const int16_t KStormOpenFileBonus[8] = { 31, 31, 18, 0, 0, 0, 0, 0 };
- const int16_t QStormOpenFileBonus[8] = { 0, 0, 0, 0, 0, 26, 42, 26 };
+ const int16_t QStormOpenFileBonus[8] = { 31, 31, 18, 0, 0, 0, 0, 0 };
+ const int16_t KStormOpenFileBonus[8] = { 0, 0, 0, 0, 0, 26, 42, 26 };
// Pawn storm lever bonuses by file
const int StormLeverBonus[8] = { -8, -8, -13, 0, 0, -13, -8, -8 };
assert(pos.is_ok());
Key key = pos.get_pawn_key();
- int index = int(key & (size - 1));
+ unsigned index = unsigned(key & (size - 1));
PawnInfo* pi = entries + index;
// If pi->key matches the position's pawn hash key, it means that we
if (isolated)
{
value -= IsolatedPawnPenalty[f];
- if (!(theirPawns & file_bb(f)))
+ if (!opposed)
value -= IsolatedPawnPenalty[f] / 2;
}
if (doubled)
if (backward)
{
value -= BackwardPawnPenalty[f];
- if (!(theirPawns & file_bb(f)))
+ if (!opposed)
value -= BackwardPawnPenalty[f] / 2;
}
if (chain)