クラス osl::checkmate::DfpnTable

詰探索局面表 -- 並列でも共有する部分 [詳細]

#include <dfpn.h>

すべてのメンバ一覧

構成

struct  List
struct  Table

Public メソッド

 DfpnTable (Player attack)
 DfpnTable ()
 ~DfpnTable ()
template<Player Attack>
const DfpnRecord probe (const HashKey &key, PieceStand white) const
const DfpnRecord probe (const HashKey &key, PieceStand white) const
template<Player Attack>
const DfpnRecord findProofOracle (const HashKey &key, PieceStand white, Move last_move=Move()) const
const DfpnRecord findProofOracle (const HashKey &key, PieceStand white, Move last_move=Move()) const
template<Player Attack>
void showProofOracles (const HashKey &key, PieceStand white, Move last_move=Move()) const
size_t size () const
void showStats () const
void setAttack (Player)
void setWorking (const HashKey &key, const DfpnRecord &value, int thread_id)
void leaveWorking (const HashKey &key, int thread_id)
void store (const HashKey &key, DfpnRecord &value, int leaving_thread_id=-1)
void addDag (const HashKey &key, DfpnRecord &value)
void clear ()
size_t totalSize ()
Player attack () const
void testTable ()
size_t smallTreeGC (size_t threshold=10)

Private メソッド

template<Player Attack>
Listfind (const HashKey &key, int subindex)
template<Player Attack>
const Listfind (const HashKey &key, int subindex) const

Static Private メソッド

static int keyToIndex (const HashKey &key)

Private 変数

boost::scoped_array< Tabletable
size_t total_size

Static Private 変数

static const int DIVSIZE = 1

説明

詰探索局面表 -- 並列でも共有する部分

dfpn.h43 行で定義されています。


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

osl::checkmate::DfpnTable::DfpnTable ( Player  attack  ) 

dfpn.cc809 行で定義されています。

参照先 setAttack().

osl::checkmate::DfpnTable::DfpnTable (  ) 

dfpn.cc816 行で定義されています。

osl::checkmate::DfpnTable::~DfpnTable (  ) 

dfpn.cc821 行で定義されています。


関数

void osl::checkmate::DfpnTable::addDag ( const HashKey &  key,
DfpnRecord value 
)
osl::Player osl::checkmate::DfpnTable::attack (  )  const

dfpn.cc843 行で定義されています。

参照先 table.

参照元 osl::checkmate::Dfpn::analyze(), find(), setAttack(), と osl::checkmate::Dfpn::setIllegal().

void osl::checkmate::DfpnTable::clear (  ) 

dfpn.cc1029 行で定義されています。

参照先 DIVSIZE, SCOPED_LOCK, table, と total_size.

template<osl::Player Attack>
const osl::checkmate::DfpnTable::List * osl::checkmate::DfpnTable::find ( const HashKey &  key,
int  subindex 
) const [inline, private]

dfpn.cc869 行で定義されています。

参照先 attack(), find(), と table.

template<osl::Player Attack>
osl::checkmate::DfpnTable::List * osl::checkmate::DfpnTable::find ( const HashKey &  key,
int  subindex 
) [inline, private]

dfpn.cc851 行で定義されています。

参照先 attack(), と table.

参照元 find().

const DfpnRecord osl::checkmate::DfpnTable::findProofOracle ( const HashKey &  key,
PieceStand  white,
Move  last_move = Move() 
) const
template<osl::Player Attack>
const osl::checkmate::DfpnRecord osl::checkmate::DfpnTable::findProofOracle ( const HashKey &  key,
PieceStand  white,
Move  last_move = Move() 
) const [inline]
static int osl::checkmate::DfpnTable::keyToIndex ( const HashKey &  key  )  [inline, static, private]

dfpn.h90 行で定義されています。

参照先 DIVSIZE.

参照元 addDag(), findProofOracle(), leaveWorking(), probe(), setWorking(), showProofOracles(), と store().

void osl::checkmate::DfpnTable::leaveWorking ( const HashKey &  key,
int  thread_id 
)
const DfpnRecord osl::checkmate::DfpnTable::probe ( const HashKey &  key,
PieceStand  white 
) const
template<osl::Player Attack>
const osl::checkmate::DfpnRecord osl::checkmate::DfpnTable::probe ( const HashKey &  key,
PieceStand  white 
) const [inline]
void osl::checkmate::DfpnTable::setAttack ( Player  a  ) 

dfpn.cc835 行で定義されています。

参照先 attack(), DIVSIZE, size(), と table.

参照元 DfpnTable(), と osl::checkmate::DualDfpn::Local::Local().

void osl::checkmate::DfpnTable::setWorking ( const HashKey &  key,
const DfpnRecord value,
int  thread_id 
)
template<osl::Player Attack>
void osl::checkmate::DfpnTable::showProofOracles ( const HashKey &  key,
PieceStand  white,
Move  last_move = Move() 
) const [inline]
void osl::checkmate::DfpnTable::showStats (  )  const

dfpn.cc825 行で定義されています。

参照先 DIVSIZE, size(), table, と total_size.

size_t osl::checkmate::DfpnTable::size (  )  const

dfpn.cc1089 行で定義されています。

参照先 total_size.

参照元 setAttack(), osl::checkmate::DfpnTable::List::showProofOracles(), と showStats().

size_t osl::checkmate::DfpnTable::smallTreeGC ( size_t  threshold = 10  ) 

dfpn.cc1063 行で定義されています。

参照先 DIVSIZE, SCOPED_LOCK, table, と total_size.

void osl::checkmate::DfpnTable::store ( const HashKey &  key,
DfpnRecord value,
int  leaving_thread_id = -1 
)
void osl::checkmate::DfpnTable::testTable (  ) 

dfpn.cc1041 行で定義されています。

参照先 DIVSIZE, SCOPED_LOCK, と table.

size_t osl::checkmate::DfpnTable::totalSize (  )  [inline]

dfpn.h70 行で定義されています。

参照先 total_size.


変数

const int osl::checkmate::DfpnTable::DIVSIZE = 1 [static, private]

dfpn.h88 行で定義されています。

参照元 clear(), keyToIndex(), setAttack(), showStats(), smallTreeGC(), と testTable().

boost::scoped_array<Table> osl::checkmate::DfpnTable::table [private]

dfpn.h48 行で定義されています。

参照元 clear(), setWorking(), showStats(), size(), smallTreeGC(), store(), と totalSize().


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