#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.
1.8.4