#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 への詰め込みのため | |
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.
osl::search::DualThreatmateState::DualThreatmateState | ( | ThreatmateState::Status | b = ThreatmateState::UNKNOWN , |
ThreatmateState::Status | w = ThreatmateState::UNKNOWN |
||
) | [inline, explicit] |
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().
bool osl::search::DualThreatmateState::isThreatmate | ( | Player | king | ) | const [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().
bool osl::search::DualThreatmateState::maybeThreatmate | ( | Player | king | ) | const [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().
bool osl::search::DualThreatmateState::mayHaveCheckmate | ( | Player | king | ) | const [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().
void osl::search::DualThreatmateState::setThreatmate | ( | Player | king, |
Move | m | ||
) | [inline] |
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().
const ThreatmateState& osl::search::DualThreatmateState::status | ( | Player | king | ) | const [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().
const Move osl::search::DualThreatmateState::threatmateMove | ( | Player | king | ) | const [inline] |
Definition at line 54 of file dualThreatmateState.h.
References threatmate_move.
Referenced by osl::search::QuiescenceSearch2< EvalT >::searchMain().
void osl::search::DualThreatmateState::updateInLock | ( | Player | turn, |
const DualThreatmateState * | parent, | ||
bool | in_check | ||
) | [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().
ThreatmateState& osl::search::DualThreatmateState::wstatus | ( | Player | king | ) | [inline, private] |
Definition at line 18 of file dualThreatmateState.h.
References king_status.
Referenced by DualThreatmateState(), setThreatmate(), and updateInLock().
CArray<ThreatmateState,2> osl::search::DualThreatmateState::king_status [private] |
Definition at line 17 of file dualThreatmateState.h.
SendOffSquare::SendOff8 osl::search::DualThreatmateState::sendoffs [mutable] |
XXX: QuiescenceRecord への詰め込みのため
Definition at line 24 of file dualThreatmateState.h.
Referenced by osl::search::QuiescenceRecord::sendOffSquare().
CArray<Move,2> osl::search::DualThreatmateState::threatmate_move [private] |
Definition at line 16 of file dualThreatmateState.h.
Referenced by setThreatmate(), and threatmateMove().