13 const char * what ()
const noexcept override {
14 return "Nothing found";
20 const char * what ()
const noexcept override {
21 return "Aborting search";
26#define DEBUG_sendInfoSearching(b, depth, msg, sc) \
27 sendInfoSearching(b, depth, msg, sc)
28#define DEBUG_returnInfoSearching(b, depth, msg, sc) \
29 sendInfoSearching(b, depth, msg, sc)
31#define DEBUG_sendInfoSearching(b, depth, msg, sc)
32#define DEBUG_returnInfoSearching(b, depth, msg, sc) \
61 operator std::string()
const;
90 operator std::string() const& {
return const_cast<std::string const&
>(m_name); }
101 std::string
const& c,
131 std::atomic<bool> m_aborting;
Helper class for measuring execution time for functions Call ClockStart and ClockEnd at end of execut...
void sendInfoCurrMove(bBoard const &b, depth_t const nDepth, movenum_t const moveid) const
bScore attenuateScore(bScore const sc) const
converge score towards zero in order to force immediate best move first
bScore RetrieveBoardEvaluation(bBoard &b) const
Cache score of board.
~bSearchAlgorithm() override
virtual bScore CalcBestMove(bBoard &b)=0
bScore sendInfoScore(bBoard const &b, depth_t const nDepth, bScore const) const
bScore sendInfoSearching(bBoard const &b, depth_t const nDepth, std::string const &c, bScore const sc) const
bSearchAlgorithm(bSearchAlgorithm const &)=delete
bSearchAlgorithm(bSearchAlgorithm &&)=delete
bSearchAlgorithm & operator=(bSearchAlgorithm const &)=delete
void CheckIfAbortingSearch() const
bBestMoveInfo SearchBestMove(bBoard &b)
Generic search, will call (non-)recursive method per algorithm only when there are moves to be played...
bSearchAlgorithm & operator=(bSearchAlgorithm &&)=delete
int64_t getNonLeafNodes() const
void StartSearch(bScore const m)
void dumpMoveList(bBoard &b, depth_t const iDepth) const
bSearchScore operator-() const
bSearchScore & operator=(bSearchScore &&sc) noexcept
bSearchScore & operator=(bSearchScore const &)=delete
friend std::string const operator+(std::string const &lhs, bSearchScore const &sc)
friend bool operator>(bScore const &lhsc, bSearchScore const &rhsc)
bScore getRealScore() const
friend bool operator>=(bScore const &lhsc, bSearchScore const &rhsc)
constexpr bScore SCORE_UNDEFINED
bScore realScore(bScore const sc)
enum tScoreType scoretype_t