ハッシュ More...
Classes | |
class | GeneralBoardKey |
手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. More... | |
struct | GeneralHashKey |
BoardKey + 駒台(piece stand) More... | |
struct | BoardKey96 |
struct | HashKey128Layout |
class | HashKey128 |
手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. More... | |
struct | HashCollision |
ハッシュの衝突を検出した時に throw するために使う. More... | |
class | HashKey |
class | HashGenTable |
class | HashKeyMix |
2つのhashKey(たとえばHashKey32とHashKey64)を保持して, 常に同じ結果(片方で一致して片方で一致しないことがない)であることを assertで確認しながら動くHashKey More... | |
class | HashKeyStack |
class | HashRandom |
class | HashRandomPair |
Typedefs | |
typedef GeneralBoardKey < unsigned int, 4 > | BoardKey32 |
typedef GeneralBoardKey < unsigned long long, 2 > | BoardKey64 |
typedef GeneralHashKey < BoardKey32 > | HashKey32 |
typedef GeneralHashKey < BoardKey64 > | HashKey64 |
typedef HashKey128 | HashKeyBase |
typedef BoardKey96 | BoardKey |
Functions | |
template<typename Integer , size_t SIZE> | |
bool | operator== (const GeneralBoardKey< Integer, SIZE > &l, const GeneralBoardKey< Integer, SIZE > &r) |
template<typename Integer , size_t SIZE> | |
bool | operator!= (const GeneralBoardKey< Integer, SIZE > &l, const GeneralBoardKey< Integer, SIZE > &r) |
template<typename Integer , size_t SIZE> | |
bool | operator< (const GeneralBoardKey< Integer, SIZE > &l, const GeneralBoardKey< Integer, SIZE > &r) |
set等で使うためのみの不等号. More... | |
template<typename T > | |
bool | operator== (const GeneralHashKey< T > &l, const GeneralHashKey< T > &r) |
template<typename T > | |
bool | operator!= (const GeneralHashKey< T > &l, const GeneralHashKey< T > &r) |
template<typename T > | |
bool | operator< (const GeneralHashKey< T > &l, const GeneralHashKey< T > &r) |
set等で使うためのみの不等号 full orderであること以外に深い意味はない More... | |
bool | operator== (const HashKey128 &l, const HashKey128 &r) |
bool | operator!= (const HashKey128 &l, const HashKey128 &r) |
bool | operator< (const HashKey128 &l, const HashKey128 &r) |
set等で使うためのみの不等号. More... | |
std::ostream & | operator<< (std::ostream &os, const HashKey &h) |
Variables | |
const HashGenTable | Hash_Gen_Table |
ハッシュ
typedef BoardKey96 osl::hash::BoardKey |
typedef GeneralBoardKey<unsigned int,4> osl::hash::BoardKey32 |
Definition at line 224 of file boardKey.h.
typedef GeneralBoardKey<unsigned long long,2> osl::hash::BoardKey64 |
Definition at line 225 of file boardKey.h.
typedef GeneralHashKey<BoardKey32> osl::hash::HashKey32 |
Definition at line 226 of file boardKey.h.
typedef GeneralHashKey<BoardKey64> osl::hash::HashKey64 |
Definition at line 227 of file boardKey.h.
typedef HashKey128 osl::hash::HashKeyBase |
|
inline |
Definition at line 97 of file boardKey.h.
|
inline |
Definition at line 133 of file boardKey128.h.
|
inline |
Definition at line 206 of file boardKey.h.
|
inline |
|
inline |
set等で使うためのみの不等号.
full orderであること以外に深い意味はない
Definition at line 141 of file boardKey128.h.
References osl::hash::HashKey128::boardKey(), and osl::hash::HashKey128::pieceStand().
|
inline |
set等で使うためのみの不等号 full orderであること以外に深い意味はない
Definition at line 216 of file boardKey.h.
References osl::hash::GeneralHashKey< BoardKeyBase >::board_key.
std::ostream & osl::hash::operator<< | ( | std::ostream & | os, |
const HashKey & | h | ||
) |
Definition at line 17 of file hashKey.cc.
References osl::hash::HashKey128::boardKey(), osl::hash::HashKey128::pieceStand(), and osl::hash::BoardKey96::size().
|
inline |
Definition at line 89 of file boardKey.h.
|
inline |
Definition at line 129 of file boardKey128.h.
References osl::hash::HashKey128::boardKey(), and osl::hash::HashKey128::pieceStand().
|
inline |
board_keyが違う場合の方が多いだろう
Definition at line 196 of file boardKey.h.
References osl::hash::GeneralHashKey< BoardKeyBase >::board_key, and osl::hash::GeneralHashKey< BoardKeyBase >::piece_stand.
const hash::HashGenTable osl::hash::Hash_Gen_Table |
Definition at line 118 of file tables.cc.
Referenced by osl::checkmate::DualDfpn::OraclePool::addKey(), osl::hash::HashKey::HashKey(), osl::checkmate::DualDfpn::OraclePool::makeKey(), osl::checkmate::DualDfpn::OraclePool::makeLargeKey(), osl::hash::HashKey::newMakeMove(), and osl::hash::HashKey::newUnmakeMove().