ハッシュ [詳細]
構成 | |
| 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 行で定義されています。
1.6.3