クラス osl::checkmate::DualDfpn

一般用詰み探索: 先手後手の詰みを別々に管理 [詳細]

#include <dualDfpn.h>

すべてのメンバ一覧

構成

struct  Local
struct  OraclePool
struct  Shared

Public メソッド

 DualDfpn (uint64_t ignored=std::numeric_limits< uint64_t >::max())
 DualDfpn (const DualDfpn &src)
 ~DualDfpn ()
void setRootPlayer (Player)
template<Player P>
bool isWinningState (int node_limit, const NumEffectState &state, const HashKey &key, const PathEncoding &path, Move &best_move, Move last_move=Move::INVALID())
 詰みを発見.
bool isWinningState (int node_limit, const NumEffectState &state, const HashKey &key, const PathEncoding &path, Move &best_move, Move last_move=Move::INVALID())
template<Player P>
bool isLosingState (int node_limit, NumEffectState &state, const HashKey &key, const PathEncoding &path, Move last_move=Move::INVALID())
bool isLosingState (int node_limit, NumEffectState &state, const HashKey &key, const PathEncoding &path, Move last_move=Move::INVALID())
void runGC ()
void setVerbose (int level=1)
int distance (Player attack, const HashKey &key)
size_t mainNodeCount () const
size_t totalNodeCount () const
void writeRootHistory (const RepetitionCounter &counter, const MoveStack &moves, const SimpleState &state, Player attack)
const DfpnTabletable (Player) const

Private メソッド

DfpnprepareDfpn (Player attack)
DfpnprepareDfpnSmall (Player attack)

Private 変数

boost::shared_ptr< Sharedshared
boost::scoped_ptr< Locallocal

説明

一般用詰み探索: 先手後手の詰みを別々に管理

dualDfpn.h29 行で定義されています。


コンストラクタとデストラクタ

osl::checkmate::DualDfpn::DualDfpn ( uint64_t  ignored = std::numeric_limits<uint64_t>::max()  )  [explicit]

dualDfpn.cc234 行で定義されています。

osl::checkmate::DualDfpn::DualDfpn ( const DualDfpn src  ) 

dualDfpn.cc240 行で定義されています。

osl::checkmate::DualDfpn::~DualDfpn (  ) 

dualDfpn.cc246 行で定義されています。


関数

int osl::checkmate::DualDfpn::distance ( Player  attack,
const HashKey &  key 
)

dualDfpn.cc539 行で定義されています。

参照先 osl::checkmate::Dfpn::distance(), と prepareDfpn().

bool osl::checkmate::DualDfpn::isLosingState ( int  node_limit,
NumEffectState &  state,
const HashKey &  key,
const PathEncoding path,
Move  last_move = Move::INVALID() 
)
template<osl::Player P>
bool osl::checkmate::DualDfpn::isLosingState ( int  node_limit,
NumEffectState &  state,
const HashKey &  key,
const PathEncoding path,
Move  last_move = Move::INVALID() 
) [inline]
bool osl::checkmate::DualDfpn::isWinningState ( int  node_limit,
const NumEffectState &  state,
const HashKey &  key,
const PathEncoding path,
Move best_move,
Move  last_move = Move::INVALID() 
)
template<osl::Player P>
bool osl::checkmate::DualDfpn::isWinningState ( int  node_limit,
const NumEffectState &  state,
const HashKey &  key,
const PathEncoding path,
Move best_move,
Move  last_move = Move::INVALID() 
) [inline]
size_t osl::checkmate::DualDfpn::mainNodeCount (  )  const

dualDfpn.cc545 行で定義されています。

参照先 SCOPED_LOCK, と shared.

osl::checkmate::Dfpn & osl::checkmate::DualDfpn::prepareDfpn ( Player  attack  )  [private]

dualDfpn.cc251 行で定義されています。

参照先 local, と shared.

参照元 distance(), isLosingState(), isWinningState(), と writeRootHistory().

osl::checkmate::Dfpn & osl::checkmate::DualDfpn::prepareDfpnSmall ( Player  attack  )  [private]

dualDfpn.cc263 行で定義されています。

参照先 local, と shared.

参照元 isWinningState().

void osl::checkmate::DualDfpn::runGC (  ) 

dualDfpn.cc271 行で定義されています。

参照先 osl::BLACK, local_table_growth_limit, SCOPED_LOCK, shared, と osl::WHITE.

void osl::checkmate::DualDfpn::setRootPlayer ( Player  root  ) 

dualDfpn.cc527 行で定義されています。

参照先 osl::alt(), と shared.

void osl::checkmate::DualDfpn::setVerbose ( int  level = 1  ) 

dualDfpn.cc534 行で定義されています。

const osl::checkmate::DfpnTable & osl::checkmate::DualDfpn::table ( Player  attack  )  const

dualDfpn.cc564 行で定義されています。

参照先 shared.

参照元 osl::checkmate::DualDfpn::Local::Local().

size_t osl::checkmate::DualDfpn::totalNodeCount (  )  const

dualDfpn.cc555 行で定義されています。

参照先 SCOPED_LOCK, と shared.

void osl::checkmate::DualDfpn::writeRootHistory ( const RepetitionCounter counter,
const MoveStack &  moves,
const SimpleState &  state,
Player  attack 
)

変数

boost::scoped_ptr<Local> osl::checkmate::DualDfpn::local [private]

dualDfpn.h35 行で定義されています。

参照元 isLosingState(), isWinningState(), prepareDfpn(), と prepareDfpnSmall().

boost::shared_ptr<Shared> osl::checkmate::DualDfpn::shared [private]

このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:57:53 2010に生成されました。  doxygen 1.6.3