#include <simpleHashTable.h>
Public メソッド | |
SimpleHashTable (unsigned int capacity=100000, int minimum_record_limit=0, int verbose=0) | |
~SimpleHashTable () | |
void | setMinimumRecordLimit (int new_limit) |
SimpleHashRecord * | allocate (const HashKey &key, int limit) |
ɽõϿƤʤпȥϿ | |
int | minimumRecordLimit () const |
void | setVerbose (int verbose=1) |
int | verboseLevel () const |
bool | isVerbose () const |
SimpleHashRecord * | migrate (const HashKey &root, int max_depth, int min_limit, SimpleHashTable &out) const |
root depth λؼ out¸ | |
bool | isConsistent () const |
int | divSize () const |
lock contention 뤿ʬ䤷礭 | |
void | getPV (const HashKey &, MoveVector &, size_t *quiesce_start=0) const |
Private 変数 | |
int | minimum_limit |
int | verbose |
Ȥꤢ g++ (SGI STL) hash_map ȤäƼ
ǽ:
ٴŪʵǽ顤ʬǼʤۤbetter hash_map Ǥ GC뤳ȤϺȻפ뤿
find, allocate ݥ֤ᡤǤɲäƤ⡤¸Ǥ ɥ쥹Ѳʤǡ¤Ѥɬפ롥
simpleHashTable.h の 32 行で定義されています。
osl::search::SimpleHashTable::SimpleHashTable | ( | unsigned int | capacity = 100000 , |
|
int | minimum_record_limit = 0 , |
|||
int | verbose = 0 | |||
) | [explicit] |
capacity | ɽݻ | |
minimumRecordLimit | recordUpperBound, recordLowerBound ˤ limit ̤ΤΤϿ̵뤹. üŻõϿϥޥʥˤ |
simpleHashTable.cc の 15 行で定義されています。
osl::search::SimpleHashTable::~SimpleHashTable | ( | ) |
void osl::search::SimpleHashTable::setMinimumRecordLimit | ( | int | new_limit | ) |
new_limit | recordUpperBound, recordLowerBound ˤ limit ̤ΤΤϿ̵뤹 |
simpleHashTable.cc の 39 行で定義されています。
参照先 minimum_limit.
osl::search::SimpleHashRecord * osl::search::SimpleHashTable::allocate | ( | const HashKey & | key, | |
int | limit | |||
) |
ɽõϿƤʤпȥϿ
TableFull |
simpleHashTable.cc の 52 行で定義されています。
参照先 osl::container::GeneralSimpleHashTable< Record >::find(), と minimumRecordLimit().
参照元 migrate(), と osl::search::qallocate().
int osl::search::SimpleHashTable::minimumRecordLimit | ( | ) | const |
void osl::search::SimpleHashTable::setVerbose | ( | int | verbose = 1 |
) |
int osl::search::SimpleHashTable::verboseLevel | ( | ) | const |
bool osl::search::SimpleHashTable::isVerbose | ( | ) | const [inline] |
osl::container::GeneralSimpleHashTable< Record >を再定義しています。
simpleHashTable.h の 79 行で定義されています。
参照先 verboseLevel().
osl::search::SimpleHashRecord * osl::search::SimpleHashTable::migrate | ( | const HashKey & | root, | |
int | max_depth, | |||
int | min_limit, | |||
SimpleHashTable & | out | |||
) | const |
root depth λؼ out¸
max_depth | ʾοϥԡʤ | |
min_limit | ʲμ¸Ψϥԡʤ |
simpleHashTable.cc の 66 行で定義されています。
参照先 allocate(), osl::search::SimpleHashRecord::copyFrom(), osl::container::GeneralSimpleHashTable< Record >::find(), osl::search::SimpleHashRecord::fixBestMove(), osl::search::SimpleHashRecord::lowerLimit(), osl::eval::max(), osl::search::SimpleHashRecord::moves(), osl::hash::HashKey::newHashWithMove(), と osl::search::SimpleHashRecord::upperLimit().
bool osl::search::SimpleHashTable::isConsistent | ( | ) | const |
simpleHashTable.cc の 97 行で定義されています。
参照先 osl::container::GeneralSimpleHashTable< Record >::Table::DIVSIZE, osl::container::GeneralSimpleHashTable< Record >::find(), osl::search::SimpleHashRecord::moves(), osl::hash::HashKey::newHashWithMove(), と osl::container::GeneralSimpleHashTable< Record >::table.
int osl::search::SimpleHashTable::divSize | ( | ) | const |
lock contention 뤿ʬ䤷礭
osl::container::GeneralSimpleHashTable< Record >を再定義しています。
simpleHashTable.cc の 120 行で定義されています。
void osl::search::SimpleHashTable::getPV | ( | const HashKey & | root, | |
MoveVector & | out, | |||
size_t * | quiesce_start = 0 | |||
) | const |
simpleHashTable.cc の 126 行で定義されています。
参照先 osl::search::QuiescenceRecord::bestMove(), osl::search::SimpleHashRecord::bestMove(), osl::MoveLogProb::getMove(), osl::Move::isInvalid(), osl::hash::HashKey::newHashWithMove(), osl::search::SimpleHashRecord::qrecord, と osl::container::GeneralSimpleHashTable< Record >::table.
int osl::search::SimpleHashTable::minimum_limit [private] |
int osl::search::SimpleHashTable::verbose [private] |