手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. [詳細]
#include <hashKey.h>
構成 | |
struct | StandHash |
Public メソッド | |
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のハッシュ | |
uint64_t | pieceStand64 () const |
const PieceStand | pieceStand () const |
const PieceStand | blackStand () const |
void | setPieceStand (const PieceStand &p) |
bool | isSameBoard (const HashKey128 &key) const |
駒台の情報を除いて同じかどうか. | |
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 () |
乱数で初期化. | |
size_t | size () const |
uint64_t | operator[] (size_t i) const |
Static Public 変数 | |
static const StandHash | Stand_Hash |
フレンド | |
class | HashGenTable |
手番を含んだ盤面の状態のハッシュ値を保持するためのクラス.
Board 96bit + 駒台(piece stand) 32bit
osl::hash::HashKey128::HashKey128 | ( | ) | [inline] |
osl::hash::HashKey128::HashKey128 | ( | uint64_t | h0, | |
uint32_t | h1, | |||
uint32_t | s | |||
) | [inline] |
osl::hash::HashKey128::HashKey128 | ( | const HashKey128Layout & | src | ) | [inline] |
void osl::hash::HashKey128::add | ( | Move | move | ) | [inline] |
const PieceStand osl::hash::HashKey128::blackStand | ( | ) | const [inline] |
const BoardKey96 osl::hash::HashKey128::boardKey | ( | ) | const [inline] |
uint64_t osl::hash::HashKey128::boardKey64 | ( | ) | const [inline] |
void osl::hash::HashKey128::changeTurn | ( | ) | [inline] |
uint64_t osl::hash::HashKey128::hash64 | ( | ) | const [inline] |
持駒も含んだ64bitのハッシュ
bool osl::hash::HashKey128::isPlayerOfTurn | ( | Player | p | ) | const [inline] |
bool osl::hash::HashKey128::isSameBoard | ( | const HashKey128 & | key | ) | const [inline] |
HashKey128& osl::hash::HashKey128::operator+= | ( | const HashKey128 & | r | ) | [inline] |
HashKey128& osl::hash::HashKey128::operator-= | ( | const HashKey128 & | r | ) | [inline] |
uint64_t osl::hash::HashKey128::operator[] | ( | size_t | i | ) | const [inline] |
const PieceStand osl::hash::HashKey128::pieceStand | ( | ) | const [inline] |
uint64_t osl::hash::HashKey128::pieceStand64 | ( | ) | const [inline] |
bool osl::hash::HashKey128::playerBit | ( | ) | const [inline] |
void osl::hash::HashKey128::setPieceStand | ( | const PieceStand & | p | ) | [inline] |
void osl::hash::HashKey128::setPlayer | ( | Player | p | ) | [inline] |
void osl::hash::HashKey128::setRandom | ( | ) |
乱数で初期化.
pieceStandには触らない
hashKey.cc の 10 行で定義されています。
参照先 osl::hash::HashKey128Layout::board32, osl::hash::HashKey128Layout::board64, osl::misc::Random< unsigned int >::newValue(), と osl::misc::Random< unsigned long long >::newValue().
uint64_t osl::hash::HashKey128::signature | ( | ) | const [inline] |
size_t osl::hash::HashKey128::size | ( | ) | const [inline] |
Player osl::hash::HashKey128::turn | ( | ) | const [inline] |
参照先 osl::BLACK, と isPlayerOfTurn().
friend class HashGenTable [friend] |
const StandHash osl::hash::HashKey128::Stand_Hash [static] |
参照元 pieceStand64().