////
#include <cassert>
-#include <cstring>
#include "bitcount.h"
#include "pawns.h"
<< " bytes for pawn hash table." << std::endl;
Application::exit_with_failure();
}
- clear();
}
}
-/// PawnInfoTable::clear() clears the pawn hash table by setting all
-/// entries to 0.
-
-void PawnInfoTable::clear() {
- memset(entries, 0, size * sizeof(PawnInfo));
-}
-
-
/// PawnInfoTable::get_pawn_info() takes a position object as input, computes
/// a PawnInfo object, and returns a pointer to it. The result is also
/// stored in a hash table, so we don't have to recompute everything when
// Test for candidate passed pawn
candidate = !passed
&& pos.file_is_half_open(them, f)
- && ( count_1s_max_15<false>(neighboring_files_bb(f) & (behind_bb(us, r) | rank_bb(r)) & ourPawns)
- - count_1s_max_15<false>(neighboring_files_bb(f) & in_front_bb(us, r) & theirPawns)
+ && ( count_1s_max_15(neighboring_files_bb(f) & (behind_bb(us, r) | rank_bb(r)) & ourPawns)
+ - count_1s_max_15(neighboring_files_bb(f) & in_front_bb(us, r) & theirPawns)
>= 0);
// In order to prevent doubled passed pawns from receiving a too big