ハッシュ [詳細]
構成 | |
class | GeneralBoardKey |
手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. [詳細] | |
struct | GeneralHashKey |
BoardKey + 駒台(piece stand). [詳細] | |
struct | HashCollision |
ハッシュの衝突を検出した時に throw するために使う. [詳細] | |
class | HashKey |
class | HashGenTable |
class | HashKeyMix |
2つのhashKey(たとえばHashKey32とHashKey64)を保持して, 常に同じ結果(片方で一致して片方で一致しないことがない)であることを assertで確認しながら動くHashKey [詳細] | |
class | HashKeyStack |
class | HashRandom |
型定義 | |
typedef GeneralBoardKey < unsigned int, 4 > | BoardKey32 |
typedef GeneralBoardKey < unsigned long long, 2 > | BoardKey64 |
typedef GeneralHashKey < BoardKey32 > | HashKey32 |
typedef GeneralHashKey < BoardKey64 > | HashKey64 |
typedef HashKey32 | HashKeyBase |
typedef BoardKey32 | BoardKey |
関数 | |
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等で使うためのみの不等号. | |
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であること以外に深い意味はない | |
std::ostream & | operator<< (std::ostream &os, const HashKey &h) |
変数 | |
const HashGenTable | Hash_Gen_Table |
ハッシュ
typedef BoardKey32 osl::hash::BoardKey |
typedef GeneralBoardKey<unsigned int,4> osl::hash::BoardKey32 |
boardKey.h の 224 行で定義されています。
typedef GeneralBoardKey<unsigned long long,2> osl::hash::BoardKey64 |
boardKey.h の 225 行で定義されています。
typedef GeneralHashKey<BoardKey32> osl::hash::HashKey32 |
boardKey.h の 226 行で定義されています。
typedef GeneralHashKey<BoardKey64> osl::hash::HashKey64 |
boardKey.h の 227 行で定義されています。
typedef HashKey32 osl::hash::HashKeyBase |
bool osl::hash::operator!= | ( | const GeneralHashKey< T > & | l, | |
const GeneralHashKey< T > & | r | |||
) | [inline] |
boardKey.h の 206 行で定義されています。
bool osl::hash::operator!= | ( | const GeneralBoardKey< Integer, SIZE > & | l, | |
const GeneralBoardKey< Integer, SIZE > & | r | |||
) | [inline] |
boardKey.h の 97 行で定義されています。
bool osl::hash::operator< | ( | const GeneralHashKey< T > & | l, | |
const GeneralHashKey< T > & | r | |||
) | [inline] |
set等で使うためのみの不等号 full orderであること以外に深い意味はない
boardKey.h の 216 行で定義されています。
bool osl::hash::operator< | ( | const GeneralBoardKey< Integer, SIZE > & | l, | |
const GeneralBoardKey< Integer, SIZE > & | r | |||
) | [inline] |
std::ostream & osl::hash::operator<< | ( | std::ostream & | os, | |
const HashKey & | h | |||
) |
bool osl::hash::operator== | ( | const GeneralHashKey< T > & | l, | |
const GeneralHashKey< T > & | r | |||
) | [inline] |
board_keyが違う場合の方が多いだろう
boardKey.h の 196 行で定義されています。
参照先 osl::hash::GeneralHashKey< BoardKeyBase >::board_key, と osl::hash::GeneralHashKey< BoardKeyBase >::piece_stand.
bool osl::hash::operator== | ( | const GeneralBoardKey< Integer, SIZE > & | l, | |
const GeneralBoardKey< Integer, SIZE > & | r | |||
) | [inline] |
boardKey.h の 89 行で定義されています。