BenBot 1.7.5
A chess engine
Loading...
Searching...
No Matches
ben_bot::search::Result Struct Referencefinal

#include <libbenbot/search/Result.hpp>

Collaboration diagram for ben_bot::search::Result:

Public Types

using LibchessResult = chess::uci::printing::SearchInfo

Public Member Functions

Move best_move () const
std::optional< Moveponder_move () const
auto to_libchess (bool includeDebugInfo) const -> LibchessResult

Public Attributes

size_t betaCutoffs { 0uz }
size_t depth { 0uz }
milliseconds duration { 0uz }
size_t hashfull { 0uz }
size_t mdpCutoffs { 0uz }
size_t nodesSearched { 0uz }
MoveList pv
size_t qDepth { 0uz }
eval::Score score
size_t staticEvals { 0uz }
size_t transpositionTableHits { 0uz }

Detailed Description

The results from a completed search. This struct can also represent a still-in-progress search (ie, an update on each iterative deepening iteration).

Definition at line 44 of file Result.hpp.

Member Typedef Documentation

◆ LibchessResult

Typedef for the libchess type used for printing UCI-formatted output.

Definition at line 103 of file Result.hpp.

Member Function Documentation

◆ best_move()

Move ben_bot::search::Result::best_move ( ) const
inlinenodiscard

Returns the best move found by this search.

Definition at line 91 of file Result.hpp.

◆ ponder_move()

std::optional< Move > ben_bot::search::Result::ponder_move ( ) const
inlinenodiscard

Returns the ponder move found by this search, if one exists.

Definition at line 94 of file Result.hpp.

◆ to_libchess()

auto ben_bot::search::Result::to_libchess ( bool includeDebugInfo) const -> LibchessResult
nodiscard

Converts this object to the libchess type used for printing UCI-formatted output.

Member Data Documentation

◆ betaCutoffs

size_t ben_bot::search::Result::betaCutoffs { 0uz }

Number of cutoffs due to alpha-beta.

Definition at line 77 of file Result.hpp.

◆ depth

size_t ben_bot::search::Result::depth { 0uz }

The total depth that was searched. This value is the highest depth that was completed.

Definition at line 54 of file Result.hpp.

◆ duration

milliseconds ben_bot::search::Result::duration { 0uz }

The total amount of time spent searching to produce this result. For depths greater than 1, this value is the duration of the entire search, including lower depths of the iterative deepening loop.

Definition at line 49 of file Result.hpp.

◆ hashfull

size_t ben_bot::search::Result::hashfull { 0uz }

The approximate fraction of transposition table entries (permille) that were written to during this root search.

Definition at line 88 of file Result.hpp.

◆ mdpCutoffs

size_t ben_bot::search::Result::mdpCutoffs { 0uz }

Number of cutoffs due to mate distance pruning.

Definition at line 83 of file Result.hpp.

◆ nodesSearched

size_t ben_bot::search::Result::nodesSearched { 0uz }

The total number of nodes visited during this search. For depths greater than 1, this value includes nodes visited in shallower depths of the iterative deepening loop.

Definition at line 69 of file Result.hpp.

◆ pv

MoveList ben_bot::search::Result::pv

The principal variation found during the search.

Definition at line 63 of file Result.hpp.

◆ qDepth

size_t ben_bot::search::Result::qDepth { 0uz }

The deepest depth reached by the quiescence search.

Definition at line 57 of file Result.hpp.

◆ score

eval::Score ben_bot::search::Result::score

The evaluation of the position resulting from playing the best move.

Definition at line 60 of file Result.hpp.

◆ staticEvals

size_t ben_bot::search::Result::staticEvals { 0uz }

The total number of static evaluations performed during the search.

Definition at line 80 of file Result.hpp.

◆ transpositionTableHits

size_t ben_bot::search::Result::transpositionTableHits { 0uz }

The number of nodes for which a saved score from the transposition table could be used.

Definition at line 74 of file Result.hpp.


The documentation for this struct was generated from the following file: