All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Friends
osl::hash::HashKey128 Class Reference

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

#include <boardKey128.h>

Inheritance diagram for osl::hash::HashKey128:
Inheritance graph
[legend]
Collaboration diagram for osl::hash::HashKey128:
Collaboration graph
[legend]

List of all members.

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

Friends

class HashGenTable

Detailed Description

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

Board 96bit + 駒台(piece stand) 32bit

Definition at line 36 of file boardKey128.h.


Constructor & Destructor Documentation

osl::hash::HashKey128::HashKey128 ( uint64_t  h0,
uint32_t  h1,
uint32_t  s 
) [inline]

Definition at line 50 of file boardKey128.h.


Member Function Documentation

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

Definition at line 90 of file boardKey128.h.

References osl::hash::HashKey128Layout::board64, and osl::Move::intValue().

Definition at line 61 of file boardKey128.h.

References osl::hash::HashKey128Layout::piece_stand.

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

Definition at line 56 of file boardKey128.h.

References osl::hash::HashKey128Layout::board64.

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

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

Definition at line 59 of file boardKey128.h.

References osl::hash::HashKey128Layout::board64, and osl::hash::HashKey128Layout::piece_stand.

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

Definition at line 98 of file boardKey128.h.

References playerBit(), and osl::playerToIndex().

Referenced by turn().

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

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

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

Definition at line 68 of file boardKey128.h.

References 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]
bool osl::hash::HashKey128::playerBit ( ) const [inline]

Definition at line 97 of file boardKey128.h.

References osl::hash::HashKey128Layout::board64.

Referenced by isPlayerOfTurn().

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

Definition at line 92 of file boardKey128.h.

References osl::hash::HashKey128Layout::board64, and osl::playerToIndex().

uint64_t osl::hash::HashKey128::signature ( ) const [inline]
size_t osl::hash::HashKey128::size ( ) const [inline]
Player osl::hash::HashKey128::turn ( ) const [inline]

Definition at line 102 of file boardKey128.h.

References osl::BLACK, isPlayerOfTurn(), and osl::WHITE.


Friends And Related Function Documentation

friend class HashGenTable [friend]

Definition at line 38 of file boardKey128.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines