Belofte version 2.1.8
A promising chess program using the UCI or Winboard interface
search_ab.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------+
2 * File: search_ab.h
3 * Project: part of belofte - A Promising Chess Program
4 * Author: yves
5 * SPDX-License-Identifier: GPL-2.0-only
6+----------------------------------------------------------------------*/
7
8#if !defined(SEARCH_AB_H)
9#define SEARCH_AB_H
10
11//-----------------------------------------------------------------------
12
14public:
16 explicit SearchAlphaBeta(std::string const&);
17 ~SearchAlphaBeta() override;
18
19 // no copy or move ctor nor assignment defined
24
25protected:
26 bScore CalcBestMove(bBoard& b) final;
27 virtual bScore CalcBestMove(bBoard& b, depth_t const nDepth,
28 bSearchScore alpha, bSearchScore beta);
29 bScore Quiescence(bBoard& b, depth_t const nDepth,
30 bSearchScore alpha, bSearchScore beta, uint8_t nCheckCount);
31
33};
34
35class SearchAlphaBetaFH final : public SearchAlphaBeta {
36public:
38 ~SearchAlphaBetaFH() final;
39
40 // no copy or move ctor nor assignment defined
45
46protected:
47 bScore CalcBestMove(bBoard& b, depth_t const nDepth,
48 bSearchScore alpha, bSearchScore beta) override;
49};
50
51//-----------------------------------------------------------------------
52
53#endif // defined SEARCH_AB_H
54
55// eof
int_fast8_t depth_t
Definition belofte.h:112
int16_t bScore
SearchAlphaBetaFH & operator=(SearchAlphaBetaFH &&)=delete
~SearchAlphaBetaFH() final
Definition search_ab.cpp:71
SearchAlphaBetaFH & operator=(SearchAlphaBetaFH const &)=delete
SearchAlphaBetaFH(SearchAlphaBetaFH const &)=delete
SearchAlphaBetaFH(SearchAlphaBetaFH &&)=delete
bScore CalcBestMove(bBoard &b, depth_t const nDepth, bSearchScore alpha, bSearchScore beta) override
bScore CalcBestMove(bBoard &b) final
Definition search_ab.cpp:53
~SearchAlphaBeta() override
Definition search_ab.cpp:49
bScore m_nBetaCutOffMargin
Definition search_ab.h:32
SearchAlphaBeta(SearchAlphaBeta const &)=delete
SearchAlphaBeta & operator=(SearchAlphaBeta &&)=delete
bScore Quiescence(bBoard &b, depth_t const nDepth, bSearchScore alpha, bSearchScore beta, uint8_t nCheckCount)
SearchAlphaBeta(SearchAlphaBeta &&)=delete
SearchAlphaBeta & operator=(SearchAlphaBeta const &)=delete
board
Definition board.h:147