|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Killer heuristic table for equality-comparable moves. More...
#include <search_move_ordering.H>
Public Member Functions | |
| void | clear () noexcept |
| Remove all recorded killer moves. | |
| bool | is_killer (const size_t depth, const Move &move) const noexcept |
Return true if move is in a killer slot for depth. | |
| void | record (const size_t depth, const Move &move) |
Record a move that caused a cutoff at depth. | |
Static Public Attributes | |
| static constexpr bool | supported = true |
| Marker indicating that this table tracks moves. | |
Private Member Functions | |
| void | ensure_depth (const size_t required) |
Private Attributes | |
| Array< std::optional< Move > > | primary_ |
| Array< std::optional< Move > > | secondary_ |
Killer heuristic table for equality-comparable moves.
Definition at line 139 of file search_move_ordering.H.
|
inlinenoexcept |
Remove all recorded killer moves.
Definition at line 146 of file search_move_ordering.H.
|
inlineprivate |
Definition at line 179 of file search_move_ordering.H.
References Aleph::divide_and_conquer_partition_dp().
|
inlinenoexcept |
Return true if move is in a killer slot for depth.
| depth | Path depth from root. |
| move | Candidate move to check. |
Definition at line 157 of file search_move_ordering.H.
References Aleph::and, and Aleph::divide_and_conquer_partition_dp().
|
inline |
Record a move that caused a cutoff at depth.
| depth | Path depth from root. |
| move | Cutoff-producing move. |
Definition at line 168 of file search_move_ordering.H.
References Aleph::and.
|
private |
Definition at line 188 of file search_move_ordering.H.
|
private |
Definition at line 189 of file search_move_ordering.H.
|
staticconstexpr |
Marker indicating that this table tracks moves.
Definition at line 143 of file search_move_ordering.H.