#include <dualThreatmateState.h>
構成 | |
struct | Flags |
Public メソッド | |
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 変数 | |
SendOffPosition::SendOff8 | sendoffs |
XXX: QuiescenceRecord への詰め込みのため. | |
struct osl::search::DualThreatmateState::Flags | flags |
Private メソッド | |
ThreatmateState & | wstatus (Player king) |
Private 変数 | |
CArray< Move, 2 > | threatmate_move |
CArray< ThreatmateState, 2 > | king_status |
dualThreatmateState.h の 14 行で定義されています。
osl::search::DualThreatmateState::DualThreatmateState | ( | ThreatmateState::Status | b = ThreatmateState::UNKNOWN , |
|
ThreatmateState::Status | w = ThreatmateState::UNKNOWN | |||
) | [inline, explicit] |
bool osl::search::DualThreatmateState::isThreatmate | ( | Player | king | ) | const [inline] |
dualThreatmateState.h の 48 行で定義されています。
参照先 osl::search::ThreatmateState::isThreatmate(), と status().
参照元 osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::AlphaBeta2< EvalT >::findCheckmateInPV(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta2Tree< EvalT >::showPV(), と osl::search::AlphaBeta2Tree< EvalT >::testThreatmate().
bool osl::search::DualThreatmateState::maybeThreatmate | ( | Player | king | ) | const [inline] |
dualThreatmateState.h の 54 行で定義されています。
参照先 osl::search::ThreatmateState::maybeThreatmate(), と status().
参照元 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(), と updateInLock().
bool osl::search::DualThreatmateState::mayHaveCheckmate | ( | Player | king | ) | const [inline] |
dualThreatmateState.h の 57 行で定義されています。
参照先 osl::search::ThreatmateState::mayHaveCheckmate(), と status().
参照元 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(), と updateInLock().
dualThreatmateState.h の 42 行で定義されています。
参照先 osl::Move::isNormal(), osl::search::ThreatmateState::setThreatmate(), osl::search::ThreatmateState::THREATMATE, threatmate_move, と wstatus().
参照元 osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::AlphaBeta2< EvalT >::findCheckmateInPV(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), と osl::search::AlphaBeta2Tree< EvalT >::testThreatmate().
const ThreatmateState& osl::search::DualThreatmateState::status | ( | Player | king | ) | const [inline] |
void osl::search::DualThreatmateState::updateInLock | ( | Player | turn, | |
const DualThreatmateState * | parent, | |||
bool | in_check | |||
) | [inline] |
ThreatmateState& osl::search::DualThreatmateState::wstatus | ( | Player | king | ) | [inline, private] |
dualThreatmateState.h の 18 行で定義されています。
参照先 king_status.
参照元 DualThreatmateState(), setThreatmate(), と updateInLock().
CArray<ThreatmateState,2> osl::search::DualThreatmateState::king_status [private] |
dualThreatmateState.h の 17 行で定義されています。
SendOffPosition::SendOff8 osl::search::DualThreatmateState::sendoffs [mutable] |
XXX: QuiescenceRecord への詰め込みのため.
dualThreatmateState.h の 24 行で定義されています。
参照元 osl::search::QuiescenceRecord::dump(), と osl::search::QuiescenceRecord::sendOffPosition().
CArray<Move,2> osl::search::DualThreatmateState::threatmate_move [private] |
dualThreatmateState.h の 16 行で定義されています。
参照元 setThreatmate(), と threatmateMove().