X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.cpp;h=08b0e7ba0fc32288dfcedb551bef82a89b197df1;hp=f06d9f12a1d2a39525bc05184fd511e737c68aa1;hb=3376c68f4bb83dc9fd874eb9d710dab09609ae54;hpb=683595fee15a1d8ceeb1bbd577d96ed9c0f8aaaa diff --git a/src/pawns.cpp b/src/pawns.cpp index f06d9f12..08b0e7ba 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008 Marco Costalba + Copyright (C) 2008-2009 Marco Costalba Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,7 @@ #include #include +#include "bitcount.h" #include "pawns.h" #include "position.h" @@ -144,7 +145,7 @@ PawnInfoTable::PawnInfoTable(unsigned numOfEntries) { { std::cerr << "Failed to allocate " << (numOfEntries * sizeof(PawnInfo)) << " bytes for pawn hash table." << std::endl; - exit(EXIT_FAILURE); + Application::exit_with_failure(); } clear(); } @@ -329,8 +330,8 @@ PawnInfo *PawnInfoTable::get_pawn_info(const Position &pos) { // Test for candidate passed pawn candidate = !passed && pos.file_is_half_open(them, f) - && ( 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) + && ( 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