#include <dualThreatmateState.h>
Classes | |
struct | Flags |
Public Member Functions | |
DualThreatmateState (ThreatmateState::Status b=ThreatmateState::UNKNOWN, ThreatmateState::Status w=ThreatmateState::UNKNOWN) | |
const ThreatmateState & | status (Player king) const |
void | setThreatmate (Player king, Move m) |
bool | isThreatmate (Player king) const |
const Move | threatmateMove (Player king) const |
bool | maybeThreatmate (Player king) const |
bool | mayHaveCheckmate (Player king) const |
void | updateInLock (Player turn, const DualThreatmateState *parent, bool in_check) |
Public Attributes | |
SendOffSquare::SendOff8 | sendoffs |
XXX: QuiescenceRecord への詰め込みのため More... | |
struct osl::search::DualThreatmateState::Flags | flags |
Private Member Functions | |
ThreatmateState & | wstatus (Player king) |
Private Attributes | |
CArray< Move, 2 > | threatmate_move |
CArray< ThreatmateState, 2 > | king_status |
Definition at line 14 of file dualThreatmateState.h.
|
inlineexplicit |
Definition at line 32 of file dualThreatmateState.h.
References osl::BLACK, flags, osl::search::DualThreatmateState::Flags::is_king_in_check, osl::search::DualThreatmateState::Flags::static_value_type, osl::WHITE, and wstatus().
|
inline |
Definition at line 51 of file dualThreatmateState.h.
References osl::search::ThreatmateState::isThreatmate(), and status().
Referenced by osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::AlphaBeta2< EvalT >::findCheckmateInPV(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta2Tree< EvalT >::showPV(), and osl::search::AlphaBeta2Tree< EvalT >::testThreatmate().
|
inline |
Definition at line 57 of file dualThreatmateState.h.
References osl::search::ThreatmateState::maybeThreatmate(), and status().
Referenced by osl::search::AlphaBeta2Tree< EvalT >::nextMove(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::search::AlphaBeta2Tree< EvalT >::tryCheckmate(), osl::search::AlphaBeta2Tree< EvalT >::tryCheckmateAgain(), osl::search::AlphaBeta2Tree< EvalT >::tryPass(), and updateInLock().
|
inline |
Definition at line 60 of file dualThreatmateState.h.
References osl::search::ThreatmateState::mayHaveCheckmate(), and status().
Referenced by osl::search::AlphaBeta2Tree< EvalT >::alphaBetaSearchAfterMove(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta2Tree< EvalT >::tryCheckmate(), osl::search::AlphaBeta2Tree< EvalT >::tryCheckmateAgain(), and updateInLock().
Definition at line 45 of file dualThreatmateState.h.
References osl::Move::isNormal(), osl::search::ThreatmateState::setThreatmate(), osl::search::ThreatmateState::THREATMATE, threatmate_move, and wstatus().
Referenced by osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::AlphaBeta2< EvalT >::findCheckmateInPV(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), and osl::search::AlphaBeta2Tree< EvalT >::testThreatmate().
|
inline |
Definition at line 41 of file dualThreatmateState.h.
References king_status.
Referenced by osl::search::AlphaBeta2Tree< EvalT >::alphaBetaSearchAfterMove(), isThreatmate(), maybeThreatmate(), mayHaveCheckmate(), osl::search::operator<<(), and updateInLock().
Definition at line 54 of file dualThreatmateState.h.
References threatmate_move.
Referenced by osl::search::QuiescenceSearch2< EvalT >::searchMain().
|
inline |
Definition at line 63 of file dualThreatmateState.h.
References osl::alt(), maybeThreatmate(), mayHaveCheckmate(), status(), update(), osl::search::ThreatmateState::update(), and wstatus().
Referenced by osl::search::AlphaBeta2Tree< EvalT >::quiesce(), and osl::search::QuiescenceRecord::updateThreatmate().
|
inlineprivate |
Definition at line 18 of file dualThreatmateState.h.
References king_status.
Referenced by DualThreatmateState(), setThreatmate(), and updateInLock().
struct osl::search::DualThreatmateState::Flags osl::search::DualThreatmateState::flags |
|
private |
Definition at line 17 of file dualThreatmateState.h.
|
mutable |
XXX: QuiescenceRecord への詰め込みのため
Definition at line 24 of file dualThreatmateState.h.
Referenced by osl::search::QuiescenceRecord::sendOffSquare().
|
private |
Definition at line 16 of file dualThreatmateState.h.
Referenced by setThreatmate(), and threatmateMove().