構成 | Public メソッド | Static Public 変数 | フレンド

クラス osl::hash::HashKey128

手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. [詳細]

#include <hashKey.h>

osl::hash::HashKey128に対する継承グラフ
Inheritance graph
[凡例]
osl::hash::HashKey128のコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

構成

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
 駒台の情報を除いて同じかどうか.
HashKey128operator+= (const HashKey128 &r)
HashKey128operator-= (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

hashKey.h36 行で定義されています。


コンストラクタとデストラクタ

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]

hashKey.h50 行で定義されています。


関数

void osl::hash::HashKey128::add ( Move  move  )  [inline]

hashKey.h93 行で定義されています。

参照先 osl::hash::HashKey128Layout::board64, と osl::Move::intValue().

const PieceStand osl::hash::HashKey128::blackStand (  )  const [inline]

hashKey.h64 行で定義されています。

参照先 osl::hash::HashKey128Layout::piece_stand.

const BoardKey96 osl::hash::HashKey128::boardKey (  )  const [inline]
uint64_t osl::hash::HashKey128::boardKey64 (  )  const [inline]

hashKey.h56 行で定義されています。

参照先 osl::hash::HashKey128Layout::board64.

void osl::hash::HashKey128::changeTurn (  )  [inline]
uint64_t osl::hash::HashKey128::hash64 (  )  const [inline]

持駒も含んだ64bitのハッシュ

hashKey.h59 行で定義されています。

参照先 osl::hash::HashKey128Layout::board64, と pieceStand64().

bool osl::hash::HashKey128::isPlayerOfTurn ( Player  p  )  const [inline]

hashKey.h101 行で定義されています。

参照先 playerBit(), と osl::playerToIndex().

参照元 turn().

bool osl::hash::HashKey128::isSameBoard ( const HashKey128 key  )  const [inline]

駒台の情報を除いて同じかどうか.

手番が異なるものは異なると定義する

hashKey.h71 行で定義されています。

参照先 boardKey().

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]

hashKey.h60 行で定義されています。

参照先 pieceStand(), Stand_Hash, と osl::hash::HashKey128::StandHash::toUint64().

参照元 hash64().

bool osl::hash::HashKey128::playerBit (  )  const [inline]

hashKey.h100 行で定義されています。

参照先 osl::hash::HashKey128Layout::board64.

参照元 isPlayerOfTurn().

void osl::hash::HashKey128::setPieceStand ( const PieceStand p  )  [inline]

hashKey.h65 行で定義されています。

参照先 osl::PieceStand::getFlags(), と osl::hash::HashKey128Layout::piece_stand.

void osl::hash::HashKey128::setPlayer ( Player  p  )  [inline]

hashKey.h95 行で定義されています。

参照先 osl::hash::HashKey128Layout::board64, と osl::playerToIndex().

参照元 osl::hash::HashKey::HashKey().

void osl::hash::HashKey128::setRandom (  ) 
uint64_t osl::hash::HashKey128::signature (  )  const [inline]

hashKey.h57 行で定義されています。

参照先 osl::hash::HashKey128Layout::board32.

参照元 osl::hash::HashRandomPair::value().

size_t osl::hash::HashKey128::size (  )  const [inline]

hashKey.h111 行で定義されています。

参照元 osl::hash::HashKey::dumpContents().

Player osl::hash::HashKey128::turn (  )  const [inline]

hashKey.h105 行で定義されています。

参照先 osl::BLACK, と isPlayerOfTurn().


フレンドと関連する関数

friend class HashGenTable [friend]

hashKey.h38 行で定義されています。


変数

hashKey.h127 行で定義されています。

参照元 pieceStand64().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義