#include <searchTimer.h>
Public メソッド | |
SearchTimer () | |
SearchTimer (const SearchTimer &src) | |
virtual | ~SearchTimer () |
void | setTimeAssign (const TimeAssigned &a) |
void | setStartTime (MilliSeconds start) |
void | setStable (bool new_stable) |
bool | isStableNow () const |
bool | hasSchedule () const |
const TimeAssigned & | timeAssigned () const |
const MilliSeconds | startTime () const |
double | elapsed (MilliSeconds now) const |
double | elapsed () const |
void | setNextIterationCoefficient (double new_value) |
void | setNodeCountHardLimit (uint64_t new_value) |
double | nextIterationCoefficient () const |
bool | stopping () const |
void | stopNow () |
SearchTimerCommon::StopReason | stopReason () |
void | throwIfNoMoreTime (uint64_t node_count) |
int | nodeAffordable () const |
void | addMonitor (const boost::shared_ptr< SearchMonitor > &) |
bool | hasMonitor () const |
const vector < boost::shared_ptr < SearchMonitor > > & | monitors () const |
Static Public メソッド | |
static void | adjustMemoryUseLimit (double scale=0.9) |
メモリとノード数の関係を調整. | |
Private 型 | |
typedef SearchTimerCommon::Mutex | Mutex |
Private メソッド | |
void | testAndUpdateNextTimeTest (uint64_t node_count) |
void | throwStop () |
Private 変数 | |
boost::shared_ptr < SearchTimerCommon > | shared_timer |
searchTimer.h の 65 行で定義されています。
typedef SearchTimerCommon::Mutex osl::search::SearchTimer::Mutex [private] |
searchTimer.h の 68 行で定義されています。
osl::search::SearchTimer::SearchTimer | ( | ) | [inline] |
searchTimer.h の 70 行で定義されています。
osl::search::SearchTimer::SearchTimer | ( | const SearchTimer & | src | ) | [inline] |
searchTimer.h の 71 行で定義されています。
osl::search::SearchTimer::~SearchTimer | ( | ) | [virtual] |
searchTimer.cc の 8 行で定義されています。
void osl::search::SearchTimer::addMonitor | ( | const boost::shared_ptr< SearchMonitor > & | monitor | ) |
searchTimer.cc の 89 行で定義されています。
参照先 shared_timer.
void osl::search::SearchTimer::adjustMemoryUseLimit | ( | double | scale = 0.9 |
) | [static] |
double osl::search::SearchTimer::elapsed | ( | ) | const [inline] |
searchTimer.h の 104 行で定義されています。
参照先 elapsed().
参照元 osl::search::AlphaBeta2Tree< EvalT >::addMultiPV(), osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::AlphaBeta3::computeBestMoveIteratively(), osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively(), elapsed(), osl::search::AlphaBeta3::evalValue(), testAndUpdateNextTimeTest(), と osl::search::AlphaBeta2Tree< EvalT >::updateRootPV().
double osl::search::SearchTimer::elapsed | ( | MilliSeconds | now | ) | const [inline] |
searchTimer.h の 100 行で定義されています。
参照先 shared_timer.
bool osl::search::SearchTimer::hasMonitor | ( | ) | const [inline] |
bool osl::search::SearchTimer::hasSchedule | ( | ) | const [inline] |
bool osl::search::SearchTimer::isStableNow | ( | ) | const [inline] |
searchTimer.h の 86 行で定義されています。
参照先 shared_timer.
参照元 osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively().
const vector<boost::shared_ptr<SearchMonitor> >& osl::search::SearchTimer::monitors | ( | ) | const [inline] |
searchTimer.h の 160 行で定義されています。
参照先 shared_timer.
参照元 osl::search::AlphaBeta2Tree< EvalT >::addMultiPV(), osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::AlphaBeta2Tree< EvalT >::examineMovesRoot(), testAndUpdateNextTimeTest(), と osl::search::AlphaBeta2Tree< EvalT >::updateRootPV().
double osl::search::SearchTimer::nextIterationCoefficient | ( | ) | const [inline] |
int osl::search::SearchTimer::nodeAffordable | ( | ) | const [inline] |
searchTimer.h の 142 行で定義されています。
参照先 osl::eval::max(), SCOPED_LOCK, と shared_timer.
参照元 osl::search::AlphaBeta2Tree< EvalT >::tryCheckmateAgain().
void osl::search::SearchTimer::setNextIterationCoefficient | ( | double | new_value | ) | [inline] |
searchTimer.h の 106 行で定義されています。
参照先 SCOPED_LOCK, と shared_timer.
void osl::search::SearchTimer::setNodeCountHardLimit | ( | uint64_t | new_value | ) | [inline] |
searchTimer.h の 110 行で定義されています。
参照先 SCOPED_LOCK, と shared_timer.
void osl::search::SearchTimer::setStable | ( | bool | new_stable | ) | [inline] |
void osl::search::SearchTimer::setStartTime | ( | MilliSeconds | start | ) | [inline] |
void osl::search::SearchTimer::setTimeAssign | ( | const TimeAssigned & | a | ) | [inline] |
const MilliSeconds osl::search::SearchTimer::startTime | ( | ) | const [inline] |
searchTimer.h の 96 行で定義されています。
参照先 SCOPED_LOCK, と shared_timer.
void osl::search::SearchTimer::stopNow | ( | ) | [inline] |
bool osl::search::SearchTimer::stopping | ( | ) | const [inline] |
SearchTimerCommon::StopReason osl::search::SearchTimer::stopReason | ( | ) | [inline] |
searchTimer.h の 125 行で定義されています。
参照先 shared_timer.
参照元 osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively().
void osl::search::SearchTimer::testAndUpdateNextTimeTest | ( | uint64_t | node_count | ) | [private] |
searchTimer.cc の 23 行で定義されています。
参照先 elapsed(), osl::OslConfig::lock_io, osl::eval::max(), maximum_memory_use_ratio, maximum_node_count, osl::OslConfig::memoryUseRatio(), osl::eval::min(), monitors(), osl::search::SearchTimerCommon::NoMoreMemory, osl::search::SearchTimerCommon::NoMoreTime, SCOPED_LOCK, shared_timer, と throwStop().
参照元 throwIfNoMoreTime().
void osl::search::SearchTimer::throwIfNoMoreTime | ( | uint64_t | node_count | ) | [inline] |
void osl::search::SearchTimer::throwStop | ( | ) | [private] |
osl::search::AlphaBeta2Tree< EvalT >で再定義されています。
searchTimer.cc の 12 行で定義されています。
参照先 osl::search::SearchTimerCommon::NoMoreMemory, と shared_timer.
const TimeAssigned& osl::search::SearchTimer::timeAssigned | ( | ) | const [inline] |
searchTimer.h の 91 行で定義されています。
参照先 SCOPED_LOCK, と shared_timer.
参照元 osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::AlphaBeta3::computeBestMoveIteratively(), osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively(), osl::search::AlphaBeta3::evalValue(), と osl::search::AlphaBeta2Tree< EvalT >::tryCheckmateAgain().
boost::shared_ptr<SearchTimerCommon> osl::search::SearchTimer::shared_timer [private] |
searchTimer.h の 67 行で定義されています。
参照元 addMonitor(), elapsed(), hasMonitor(), hasSchedule(), isStableNow(), monitors(), nextIterationCoefficient(), nodeAffordable(), setNextIterationCoefficient(), setNodeCountHardLimit(), setStable(), setStartTime(), setTimeAssign(), startTime(), stopNow(), stopping(), stopReason(), testAndUpdateNextTimeTest(), throwIfNoMoreTime(), throwStop(), と timeAssigned().