手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. More...
#include <boardKey128.h>


Classes | |
| struct | StandHash |
Public Member Functions | |
| HashKey128 () | |
| HashKey128 (uint64_t h0, uint32_t h1, uint32_t s) | |
| HashKey128 (const HashKey128Layout &src) | |
| const BoardKey96 | boardKey () const |
| uint64_t | boardKey64 () const |
| uint64_t | signature () const |
| uint64_t | hash64 () const |
| 持駒も含んだ64bitのハッシュ More... | |
| uint64_t | pieceStand64 () const |
| const PieceStand | pieceStand () const |
| const PieceStand | blackStand () const |
| void | setPieceStand (const PieceStand &p) |
| bool | isSameBoard (const HashKey128 &key) const |
| 駒台の情報を除いて同じかどうか. More... | |
| HashKey128 & | operator+= (const HashKey128 &r) |
| HashKey128 & | operator-= (const HashKey128 &r) |
| void | add (Move move) |
| void | changeTurn () |
| void | setPlayer (Player p) |
| bool | playerBit () const |
| bool | isPlayerOfTurn (Player p) const |
| Player | turn () const |
| void | setRandom () |
| 乱数で初期化. More... | |
| size_t | size () const |
| uint64_t | operator[] (size_t i) const |
Static Public Attributes | |
| static const StandHash | Stand_Hash |
Friends | |
| class | HashGenTable |
Additional Inherited Members | |
Private Attributes inherited from osl::hash::HashKey128Layout | |
| uint64_t | board64 |
| uint32_t | board32 |
| uint32_t | piece_stand |
手番を含んだ盤面の状態のハッシュ値を保持するためのクラス.
Board 96bit + 駒台(piece stand) 32bit
Definition at line 36 of file boardKey128.h.
|
inline |
Definition at line 40 of file boardKey128.h.
References osl::hash::HashKey128Layout::board32, osl::hash::HashKey128Layout::board64, and osl::hash::HashKey128Layout::piece_stand.
|
inline |
Definition at line 44 of file boardKey128.h.
References osl::hash::HashKey128Layout::board32, osl::hash::HashKey128Layout::board64, and osl::hash::HashKey128Layout::piece_stand.
|
inline |
Definition at line 50 of file boardKey128.h.
|
inline |
Definition at line 93 of file boardKey128.h.
References osl::hash::HashKey128Layout::board64, and osl::Move::intValue().
|
inline |
Definition at line 64 of file boardKey128.h.
References osl::hash::HashKey128Layout::piece_stand.
|
inline |
Definition at line 53 of file boardKey128.h.
References osl::hash::HashKey128Layout::board32, and osl::hash::HashKey128Layout::board64.
Referenced by isSameBoard(), osl::hash::operator<(), osl::hash::operator<<(), and osl::hash::operator==().
|
inline |
Definition at line 56 of file boardKey128.h.
References osl::hash::HashKey128Layout::board64.
|
inline |
Definition at line 94 of file boardKey128.h.
References osl::hash::HashKey128Layout::board64.
Referenced by osl::hash::HashKey::newMakeMove(), and osl::hash::HashKey::newUnmakeMove().
|
inline |
持駒も含んだ64bitのハッシュ
Definition at line 59 of file boardKey128.h.
References osl::hash::HashKey128Layout::board64, and pieceStand64().
|
inline |
Definition at line 101 of file boardKey128.h.
References playerBit(), and osl::playerToIndex().
Referenced by turn().
|
inline |
駒台の情報を除いて同じかどうか.
手番が異なるものは異なると定義する
Definition at line 71 of file boardKey128.h.
References boardKey().
|
inline |
Definition at line 75 of file boardKey128.h.
References osl::PieceStand::addAtmostOnePiece(), osl::hash::HashKey128Layout::board32, osl::hash::HashKey128Layout::board64, osl::PieceStand::getFlags(), osl::hash::HashKey128Layout::piece_stand, and pieceStand().
|
inline |
Definition at line 84 of file boardKey128.h.
References osl::hash::HashKey128Layout::board32, osl::hash::HashKey128Layout::board64, osl::PieceStand::getFlags(), osl::hash::HashKey128Layout::piece_stand, pieceStand(), and osl::PieceStand::subAtmostOnePiece().
|
inline |
Definition at line 112 of file boardKey128.h.
References osl::hash::HashKey128Layout::board32, and osl::hash::HashKey128Layout::board64.
Referenced by osl::hash::HashKey::dumpContents().
|
inline |
Definition at line 63 of file boardKey128.h.
References osl::hash::HashKey128Layout::piece_stand.
Referenced by osl::hash::HashKey::dumpContents(), operator+=(), operator-=(), osl::hash::operator<(), osl::hash::operator<<(), osl::hash::operator==(), and pieceStand64().
|
inline |
Definition at line 60 of file boardKey128.h.
References pieceStand(), Stand_Hash, and osl::hash::HashKey128::StandHash::toUint64().
Referenced by hash64().
|
inline |
Definition at line 100 of file boardKey128.h.
References osl::hash::HashKey128Layout::board64.
Referenced by isPlayerOfTurn().
|
inline |
Definition at line 65 of file boardKey128.h.
References osl::PieceStand::getFlags(), and osl::hash::HashKey128Layout::piece_stand.
|
inline |
Definition at line 95 of file boardKey128.h.
References osl::hash::HashKey128Layout::board64, and osl::playerToIndex().
| void osl::hash::HashKey128::setRandom | ( | ) |
乱数で初期化.
pieceStandには触らない
Definition at line 6 of file boardKey128.cc.
References osl::hash::HashKey128Layout::board32, and osl::hash::HashKey128Layout::board64.
|
inline |
Definition at line 57 of file boardKey128.h.
References osl::hash::HashKey128Layout::board32.
Referenced by hash::operator()(), osl::hash::HashRandomPair::value(), and osl::hash::HashRandom::value().
|
inline |
Definition at line 111 of file boardKey128.h.
Referenced by osl::hash::HashKey::dumpContents(), and osl::search::SimpleHashTable::getPV().
|
inline |
Definition at line 105 of file boardKey128.h.
References osl::BLACK, isPlayerOfTurn(), and osl::WHITE.
|
friend |
Definition at line 38 of file boardKey128.h.
|
static |
Definition at line 127 of file boardKey128.h.
Referenced by pieceStand64().
1.8.4