osl::hash Namespace Reference

- Main Page
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Typedefs | Functions | Variables
osl::hash Namespace Reference

ハッシュ 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

## Detailed Description

ハッシュ

## Typedef Documentation

typedef BoardKey96 osl::hash::BoardKey

Definition at line 32 of file hashKey.h.

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

Definition at line 31 of file hashKey.h.

## Function Documentation

template<typename Integer , size_t SIZE>

bool osl::hash::operator!= | ( | const GeneralBoardKey< Integer, SIZE > & | l,
|  | const GeneralBoardKey< Integer, SIZE > & | r
| ) |  |
| inline

Definition at line 97 of file boardKey.h.

bool osl::hash::operator!= | ( | const HashKey128 & | l,
|  | const HashKey128 & | r
| ) |  |
| inline

Definition at line 133 of file boardKey128.h.

template<typename T >

bool osl::hash::operator!= | ( | const GeneralHashKey< T > & | l,
|  | const GeneralHashKey< T > & | r
| ) |  |
| inline

Definition at line 206 of file boardKey.h.

template<typename Integer , size_t SIZE>

bool osl::hash::operator< | ( | const GeneralBoardKey< Integer, SIZE > & | l,
|  | const GeneralBoardKey< Integer, SIZE > & | r
| ) |  |
| inline

set等で使うためのみの不等号.

full orderであること以外に深い意味はない

Definition at line 107 of file boardKey.h.

bool osl::hash::operator< | ( | const HashKey128 & | l,
|  | const HashKey128 & | r
| ) |  |
| inline

set等で使うためのみの不等号.

full orderであること以外に深い意味はない

Definition at line 141 of file boardKey128.h.

References osl::hash::HashKey128::boardKey(), and osl::hash::HashKey128::pieceStand().

template<typename T >

bool osl::hash::operator< | ( | const GeneralHashKey< T > & | l,
|  | const GeneralHashKey< T > & | r
| ) |  |
| 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().

template<typename Integer , size_t SIZE>

bool osl::hash::operator== | ( | const GeneralBoardKey< Integer, SIZE > & | l,
|  | const GeneralBoardKey< Integer, SIZE > & | r
| ) |  |
| inline

Definition at line 89 of file boardKey.h.

bool osl::hash::operator== | ( | const HashKey128 & | l,
|  | const HashKey128 & | r
| ) |  |
| inline

Definition at line 129 of file boardKey128.h.

References osl::hash::HashKey128::boardKey(), and osl::hash::HashKey128::pieceStand().

template<typename T >

bool osl::hash::operator== | ( | const GeneralHashKey< T > & | l,
|  | const GeneralHashKey< T > & | r
| ) |  |
| 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.

## Variable Documentation

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().