PawnInfo* PawnInfoTable::get_pawn_info(const Position& pos) const {
- assert(pos.is_ok());
-
Key key = pos.get_pawn_key();
PawnInfo* pi = probe(key);
{
assert(pos.piece_on(s) == make_piece(Us, PAWN));
- f = square_file(s);
- r = square_rank(s);
+ f = file_of(s);
+ r = rank_of(s);
// This file cannot be half open
pi->halfOpenFiles[Us] &= ~(1 << f);
for (int i = 0; i < 3; i++)
{
r += Shift;
- shelter += BitCount8Bit[(pawns >> r) & 0xFF] * (64 >> i);
+ shelter += BitCount8Bit[(pawns >> r) & 0xFF] << (6 - i);
}
}
kingSquares[Us] = ksq;