QuiescenceSearch で表に保存するデータ. [詳細]
#include <quiescenceRecord.h>
Public メソッド | |
QuiescenceRecord () | |
QuiescenceRecord (const QuiescenceRecord &src) | |
copy constructor: copy everything except for mutex | |
QuiescenceRecord & | operator= (const QuiescenceRecord &src) |
template<Player Turn> | |
const Position8 | sendOffPosition (const NumEffectState &state) const |
const Position8 | sendOffPosition (Player turn, const NumEffectState &state) const |
int | checkmateNodesLeft (int max) |
int | threatmateNodesLeft (int max) |
int | checkmateNodes () const |
今までに詰将棋で探したノード数 | |
int | threatmateNodes () const |
void | clear () |
void | setStaticValue (StaticValueType type, int value, int depth, const QuiescenceThreat &t1=QuiescenceThreat(), const QuiescenceThreat &t2=QuiescenceThreat()) |
void | setLowerBound (int depth, int bound, Move best_move) |
void | setUpperBound (int depth, int bound) |
void | setHistoryValue (int value) |
void | setHistoryValue (Move best_move, int value) |
void | addKillerMoves (const MoveVector &new_moves) |
StaticValueType | staticValueType () const |
bool | hasStaticValue () const |
int | staticValue () const |
int | staticValueDepth () const |
int | upperDepth () const |
int | lowerDepth () const |
int | upperBound () const |
int | lowerBound () const |
const Move | bestMove () const |
int | movesEmpty () const |
int | movesSizeLessThan (size_t n) const |
int | moves_size () const |
void | loadMoves (MoveVector &dst) const |
void | dump (std::ostream &) const |
const QuiescenceThreat | staticThreat (int index) |
void | updateThreatmate (Player turn, const DualThreatmateState *parent, bool in_check) |
Static Public メソッド | |
static const char * | toString (StaticValueType) |
フレンド | |
class | SimpleHashRecord |
QuiescenceSearch で表に保存するデータ.
quiescenceRecord.h の 137 行で定義されています。
osl::search::QuiescenceRecord::QuiescenceRecord | ( | ) | [inline] |
quiescenceRecord.h の 147 行で定義されています。
osl::search::QuiescenceRecord::QuiescenceRecord | ( | const QuiescenceRecord & | src | ) | [inline] |
copy constructor: copy everything except for mutex
quiescenceRecord.h の 153 行で定義されています。
void osl::search::QuiescenceRecord::addKillerMoves | ( | const MoveVector & | new_moves | ) | [inline] |
const Move osl::search::QuiescenceRecord::bestMove | ( | ) | const [inline] |
quiescenceRecord.h の 310 行で定義されています。
参照先 osl::search::QuiescenceRecordBase::best_moves.
参照元 osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), dump(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::SimpleHashTable::getPV(), qsearch(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), と osl::search::QuiescenceSearch2< EvalT >::searchMain().
int osl::search::QuiescenceRecord::checkmateNodes | ( | ) | const [inline] |
今までに詰将棋で探したノード数
quiescenceRecord.h の 224 行で定義されています。
int osl::search::QuiescenceRecord::checkmateNodesLeft | ( | int | max | ) | [inline] |
max | このrecordで使って良いノード数 |
quiescenceRecord.h の 193 行で定義されています。
参照先 osl::search::QuiescenceRecordBase::checkmate_nodes, と SCOPED_LOCK_CHAR.
参照元 osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta2Tree< EvalT >::tryCheckmate(), と osl::search::AlphaBeta2Tree< EvalT >::tryCheckmateAgain().
void osl::search::QuiescenceRecord::clear | ( | ) | [inline] |
quiescenceRecord.h の 227 行で定義されています。
参照先 osl::search::QuiescenceRecordBase::best_moves, osl::search::BestMoves::clear(), osl::search::QuiescenceRecordBase::InitialDepth, osl::search::QuiescenceRecordBase::lower_depth, SCOPED_LOCK_CHAR, osl::search::QuiescenceRecordBase::static_value_depth, と osl::search::QuiescenceRecordBase::upper_depth.
void osl::search::QuiescenceRecord::dump | ( | std::ostream & | os | ) | const |
quiescenceRecord.cc の 12 行で定義されています。
参照先 bestMove(), osl::search::QuiescenceRecordBase::checkmate_nodes, hasStaticValue(), loadMoves(), osl::search::QuiescenceRecordBase::lower_bound, osl::search::QuiescenceRecordBase::lower_depth, osl::search::QuiescenceThreat::move, moves_size(), osl::search::DualThreatmateState::sendoffs, osl::record::csa::show(), osl::search::QuiescenceRecordBase::static_value, staticValueType(), osl::search::QuiescenceRecordBase::threat1, osl::search::QuiescenceRecordBase::threat2, osl::search::QuiescenceRecordBase::threatmate, osl::search::QuiescenceRecordBase::threatmate_nodes, toString(), osl::search::QuiescenceRecordBase::upper_bound, osl::search::QuiescenceRecordBase::upper_depth, と osl::search::QuiescenceThreat::value.
参照元 osl::search::SimpleHashRecord::dump(), と osl::search::QuiescenceLog::pushMove().
bool osl::search::QuiescenceRecord::hasStaticValue | ( | ) | const [inline] |
void osl::search::QuiescenceRecord::loadMoves | ( | MoveVector & | dst | ) | const [inline] |
int osl::search::QuiescenceRecord::lowerBound | ( | ) | const [inline] |
int osl::search::QuiescenceRecord::lowerDepth | ( | ) | const [inline] |
int osl::search::QuiescenceRecord::moves_size | ( | ) | const [inline] |
quiescenceRecord.h の 315 行で定義されています。
参照先 osl::search::QuiescenceRecordBase::best_moves, osl::eval::max(), と osl::search::BestMoves::sizeFilled().
参照元 dump().
int osl::search::QuiescenceRecord::movesEmpty | ( | ) | const [inline] |
int osl::search::QuiescenceRecord::movesSizeLessThan | ( | size_t | n | ) | const [inline] |
QuiescenceRecord& osl::search::QuiescenceRecord::operator= | ( | const QuiescenceRecord & | src | ) | [inline] |
quiescenceRecord.h の 157 行で定義されています。
const Position8 osl::search::QuiescenceRecord::sendOffPosition | ( | Player | turn, | |
const NumEffectState & | state | |||
) | const [inline] |
quiescenceRecord.h の 182 行で定義されています。
参照先 osl::BLACK.
const Position8 osl::search::QuiescenceRecord::sendOffPosition | ( | const NumEffectState & | state | ) | const [inline] |
void osl::search::QuiescenceRecord::setHistoryValue | ( | Move | best_move, | |
int | value | |||
) | [inline] |
void osl::search::QuiescenceRecord::setHistoryValue | ( | int | value | ) | [inline] |
quiescenceRecord.h の 279 行で定義されています。
参照先 osl::search::QSearchTraits::HistorySpecialDepth, osl::search::QuiescenceRecordBase::lower_bound, osl::search::QuiescenceRecordBase::lower_depth, osl::search::QuiescenceRecordBase::upper_bound, と osl::search::QuiescenceRecordBase::upper_depth.
参照元 setHistoryValue().
void osl::search::QuiescenceRecord::setLowerBound | ( | int | depth, | |
int | bound, | |||
Move | best_move | |||
) | [inline] |
quiescenceRecord.h の 252 行で定義されています。
参照先 osl::search::BestMoves::add(), osl::search::QuiescenceRecordBase::best_moves, osl::search::QSearchTraits::CheckmateSpecialDepth, osl::search::QuiescenceRecordBase::lower_bound, osl::search::QuiescenceRecordBase::lower_depth, osl::search::QSearchTraits::MaxDepth, と SCOPED_LOCK_CHAR.
参照元 osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::AlphaBeta2Tree< EvalT >::quiesceExp(), と osl::search::QuiescenceSearch2< EvalT >::searchMain().
void osl::search::QuiescenceRecord::setStaticValue | ( | StaticValueType | type, | |
int | value, | |||
int | depth, | |||
const QuiescenceThreat & | t1 = QuiescenceThreat() , |
|||
const QuiescenceThreat & | t2 = QuiescenceThreat() | |||
) | [inline] |
quiescenceRecord.h の 235 行で定義されています。
参照先 osl::search::QSearchTraits::CheckmateSpecialDepth, osl::search::DualThreatmateState::flags, osl::search::QSearchTraits::MaxDepth, SCOPED_LOCK_CHAR, osl::search::QuiescenceRecordBase::static_value, osl::search::QuiescenceRecordBase::static_value_depth, osl::search::DualThreatmateState::Flags::static_value_type, osl::search::QuiescenceRecordBase::threat1, osl::search::QuiescenceRecordBase::threat2, と osl::search::QuiescenceRecordBase::threatmate.
void osl::search::QuiescenceRecord::setUpperBound | ( | int | depth, | |
int | bound | |||
) | [inline] |
const QuiescenceThreat osl::search::QuiescenceRecord::staticThreat | ( | int | index | ) | [inline] |
int osl::search::QuiescenceRecord::staticValue | ( | ) | const [inline] |
int osl::search::QuiescenceRecord::staticValueDepth | ( | ) | const [inline] |
StaticValueType osl::search::QuiescenceRecord::staticValueType | ( | ) | const [inline] |
int osl::search::QuiescenceRecord::threatmateNodes | ( | ) | const [inline] |
int osl::search::QuiescenceRecord::threatmateNodesLeft | ( | int | max | ) | [inline] |
max | このrecordで使って良いノード数 |
quiescenceRecord.h の 210 行で定義されています。
参照先 SCOPED_LOCK_CHAR, と osl::search::QuiescenceRecordBase::threatmate_nodes.
参照元 osl::search::QuiescenceSearch2< EvalT >::staticValue(), と osl::search::AlphaBeta2Tree< EvalT >::testThreatmate().
const char * osl::search::QuiescenceRecord::toString | ( | StaticValueType | type | ) | [static] |
void osl::search::QuiescenceRecord::updateThreatmate | ( | Player | turn, | |
const DualThreatmateState * | parent, | |||
bool | in_check | |||
) | [inline] |
int osl::search::QuiescenceRecord::upperBound | ( | ) | const [inline] |
int osl::search::QuiescenceRecord::upperDepth | ( | ) | const [inline] |
friend class SimpleHashRecord [friend] |
quiescenceRecord.h の 338 行で定義されています。