#include <dualThreatmateState.h>
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 |
bool | maybeThreatmate (Player king) const |
bool | mayHaveCheckmate (Player king) const |
const Move | threatmateMove (Player king) const |
void | update (Player turn, const DualThreatmateState *parent, bool in_check) |
Private メソッド | |
ThreatmateState & | wstatus (Player king) |
Private 変数 | |
CArray< ThreatmateState, 2 > | king_status |
dualThreatmateState.h の 13 行で定義されています。
osl::search::DualThreatmateState::DualThreatmateState | ( | ThreatmateState::Status | b = ThreatmateState::UNKNOWN , |
|
ThreatmateState::Status | w = ThreatmateState::UNKNOWN | |||
) | [inline, explicit] |
ThreatmateState& osl::search::DualThreatmateState::wstatus | ( | Player | king | ) | [inline, private] |
dualThreatmateState.h の 16 行で定義されています。
参照先 king_status, と osl::playerToIndex().
参照元 DualThreatmateState(), setThreatmate(), と update().
const ThreatmateState& osl::search::DualThreatmateState::status | ( | Player | king | ) | const [inline] |
dualThreatmateState.h の 27 行で定義されています。
参照先 king_status, と osl::playerToIndex().
参照元 osl::search::AlphaBeta2Tree::alphaBetaSearchAfterMove(), osl::search::SearchState2Core::countCheckAfterThreatmate(), osl::search::SearchState2Core::countCheckAfterThreatmateSacrifice(), isThreatmate(), maybeThreatmate(), mayHaveCheckmate(), osl::search::operator<<(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), threatmateMove(), と update().
dualThreatmateState.h の 31 行で定義されています。
参照先 osl::search::ThreatmateState::setThreatmate(), と wstatus().
参照元 osl::search::AlphaBeta2::alphaBetaSearchRoot(), osl::search::MTDF< Eval, MoveGenerator, Table, Recorder, Probabilities >::computeBestMoveOfPlayer(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::search::QuiescenceSearch< EvalT >::staticValue(), と osl::search::AlphaBeta2Tree::testThreatmate().
bool osl::search::DualThreatmateState::isThreatmate | ( | Player | king | ) | const [inline] |
dualThreatmateState.h の 35 行で定義されています。
参照先 osl::search::ThreatmateState::isThreatmate(), と status().
参照元 osl::search::AlphaBeta2::alphaBetaSearchRoot(), osl::search::MTDF< Eval, MoveGenerator, Table, Recorder, Probabilities >::computeBestMoveOfPlayer(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::QuiescenceSearch< EvalT >::searchMain(), と osl::search::AlphaBeta2Tree::testThreatmate().
bool osl::search::DualThreatmateState::maybeThreatmate | ( | Player | king | ) | const [inline] |
dualThreatmateState.h の 38 行で定義されています。
参照先 osl::search::ThreatmateState::maybeThreatmate(), と status().
参照元 osl::search::AlphaBeta2Tree::nextMove(), osl::search::AlphaBeta2Tree::quiesce(), osl::search::AlphaBeta2Tree::quiesceRoot(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::searchAllMoves(), osl::search::AlphaBeta2Tree::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::QuiescenceSearch< EvalT >::searchMain(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::search::QuiescenceSearch< EvalT >::staticValue(), osl::search::AlphaBeta2Tree::tryCheckmate(), osl::search::AlphaBeta2Tree::tryCheckmateAgain(), osl::search::AlphaBeta2Tree::tryPass(), と update().
bool osl::search::DualThreatmateState::mayHaveCheckmate | ( | Player | king | ) | const [inline] |
dualThreatmateState.h の 41 行で定義されています。
参照先 osl::search::ThreatmateState::mayHaveCheckmate(), と status().
参照元 osl::search::AlphaBeta2Tree::alphaBetaSearchAfterMove(), osl::search::AlphaBeta2Tree::quiesce(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::QuiescenceSearch< EvalT >::searchMain(), osl::search::AlphaBeta2Tree::tryCheckmate(), osl::search::AlphaBeta2Tree::tryCheckmateAgain(), と update().
void osl::search::DualThreatmateState::update | ( | Player | turn, | |
const DualThreatmateState * | parent, | |||
bool | in_check | |||
) | [inline] |
dualThreatmateState.h の 47 行で定義されています。
参照先 osl::alt(), maybeThreatmate(), mayHaveCheckmate(), status(), osl::search::ThreatmateState::update(), と wstatus().
参照元 osl::search::AlphaBeta2Tree::quiesce(), と osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::searchAllMoves().
CArray<ThreatmateState,2> osl::search::DualThreatmateState::king_status [private] |