#include <ntesukiTable.h>
Public Member Functions | |
Table (unsigned int capacity, unsigned int default_gc_size, bool verbose) | |
~Table () | |
NtesukiRecord * | allocate (const HashKey &key, const PieceStand &white_stand, signed short distance) |
key に対応する Record を Table から探す. More... | |
NtesukiRecord * | find (const HashKey &key) |
表を探す.新たに登録する事はない More... | |
void | erase (const HashKey key) |
表に登録された要素を削除する. More... | |
template<class F > | |
void | forEachRecord (F &f) |
テーブルに登録された各 record を F で処理する. More... | |
template<class F > | |
void | forEachRecordFrom (F &, NumEffectState &, NtesukiRecord *) |
template<class F > | |
void | forEachRecordFromRoot (F &f) |
void | collectGarbage (unsigned int gc_size) |
Collect garbage, until the size of the table reduces to gc_size . More... | |
Public Attributes | |
unsigned int | capacity |
unsigned int | default_gc_size |
bool | verbose |
bool | no_gc |
bool | gc_request |
unsigned int | numEntry |
unsigned int | numCacheHit |
unsigned int | gcCount |
NtesukiRecord * | root |
boost::scoped_ptr< NumEffectState > | rootState |
Static Public Attributes | |
static int | largeGCCount = 0 |
Definition at line 58 of file ntesukiTable.h.
osl::ntesuki::NtesukiTable::Table::Table | ( | unsigned int | capacity, |
unsigned int | default_gc_size, | ||
bool | verbose | ||
) |
Definition at line 22 of file ntesukiTable.cc.
osl::ntesuki::NtesukiTable::Table::~Table | ( | ) |
Definition at line 32 of file ntesukiTable.cc.
osl::ntesuki::NtesukiRecord * osl::ntesuki::NtesukiTable::Table::allocate | ( | const HashKey & | key, |
const PieceStand & | white_stand, | ||
signed short | distance | ||
) |
key
に対応する Record を Table から探す.
もし登録されていなかったら新たに登録する.
key | 局面の Hash値 |
Definition at line 38 of file ntesukiTable.cc.
References osl::ntesuki::NtesukiTable::capacity(), osl::ntesuki::NtesukiTable::collectGarbage(), osl::ntesuki::NtesukiTable::find(), and result.
void osl::ntesuki::NtesukiTable::Table::collectGarbage | ( | unsigned int | gc_size) |
Collect garbage, until the size of the table reduces to gc_size
.
Definition at line 366 of file ntesukiTable.cc.
References osl::ntesuki::NtesukiRecord::addChildCount(), osl::ntesuki::NtesukiTable::begin(), osl::BLACK, osl::ntesuki::NtesukiTable::end(), osl::ntesuki::NtesukiTable::erase(), osl::ntesuki::NtesukiRecord::getChildCount(), osl::ntesuki::NtesukiRecord::isVisited(), osl::ntesuki::NtesukiRecord::key, osl::ntesuki::NtesukiRecord::parents, osl::ntesuki::NtesukiRecord::rev_refcount, osl::ntesuki::NtesukiTable::verbose, and osl::WHITE.
void osl::ntesuki::NtesukiTable::Table::erase | ( | const HashKey | key) |
表に登録された要素を削除する.
Definition at line 557 of file ntesukiTable.cc.
References osl::find().
Referenced by MarkAndSweep::~MarkAndSweep().
osl::ntesuki::NtesukiRecord * osl::ntesuki::NtesukiTable::Table::find | ( | const HashKey & | key) |
表を探す.新たに登録する事はない
Definition at line 535 of file ntesukiTable.cc.
References osl::find().
void osl::ntesuki::NtesukiTable::Table::forEachRecord | ( | F & | f) |
テーブルに登録された各 record を F で処理する.
Definition at line 37 of file ntesukiTable.tcc.
void osl::ntesuki::NtesukiTable::Table::forEachRecordFrom | ( | F & | func, |
NumEffectState & | state, | ||
NtesukiRecord * | record | ||
) |
Definition at line 53 of file ntesukiTable.tcc.
References osl::find(), osl::ntesuki::NtesukiMoveGenerator::generateSlow(), osl::ntesuki::NtesukiMove::getMove(), osl::ntesuki::NtesukiRecord::key, and moves.
void osl::ntesuki::NtesukiTable::Table::forEachRecordFromRoot | ( | F & | f) |
Definition at line 92 of file ntesukiTable.tcc.
unsigned int osl::ntesuki::NtesukiTable::Table::capacity |
Definition at line 61 of file ntesukiTable.h.
unsigned int osl::ntesuki::NtesukiTable::Table::default_gc_size |
Definition at line 61 of file ntesukiTable.h.
bool osl::ntesuki::NtesukiTable::Table::gc_request |
Definition at line 62 of file ntesukiTable.h.
unsigned int osl::ntesuki::NtesukiTable::Table::gcCount |
Definition at line 63 of file ntesukiTable.h.
|
static |
Definition at line 66 of file ntesukiTable.h.
bool osl::ntesuki::NtesukiTable::Table::no_gc |
Definition at line 62 of file ntesukiTable.h.
unsigned int osl::ntesuki::NtesukiTable::Table::numCacheHit |
Definition at line 63 of file ntesukiTable.h.
unsigned int osl::ntesuki::NtesukiTable::Table::numEntry |
Definition at line 63 of file ntesukiTable.h.
NtesukiRecord* osl::ntesuki::NtesukiTable::Table::root |
Definition at line 64 of file ntesukiTable.h.
boost::scoped_ptr<NumEffectState> osl::ntesuki::NtesukiTable::Table::rootState |
Definition at line 65 of file ntesukiTable.h.
bool osl::ntesuki::NtesukiTable::Table::verbose |
Definition at line 62 of file ntesukiTable.h.