手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. More...
#include <hashKey.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 | |
![]() | |
uint64_t | board64 |
uint32_t | board32 |
uint32_t | piece_stand |
手番を含んだ盤面の状態のハッシュ値を保持するためのクラス.
Board 96bit + 駒台(piece stand) 32bit
|
inline |
|
inline |
|
inline |
Definition at line 93 of file hashKey.h.
References osl::Move::intValue().
|
inline |
Definition at line 64 of file hashKey.h.
Referenced by osl::checkmate::DfpnTable::addDag(), osl::checkmate::DfpnPathTable::allocate(), osl::checkmate::Dfpn::defense(), osl::checkmate::DfpnTable::List::estimateNodeCount(), osl::checkmate::ProofTreeDepthDfpn::Table::expectMoreDepth(), osl::checkmate::DualDfpn::findProof(), osl::checkmate::DfpnTable::List::findProofOracle(), osl::checkmate::DfpnTable::leaveWorking(), osl::checkmate::DfpnPathTable::probe(), osl::checkmate::DfpnTable::List::probe(), osl::checkmate::DfpnTable::setWorking(), osl::checkmate::DfpnTable::List::showProofOracles(), osl::checkmate::DfpnTable::store(), and osl::checkmate::Dfpn::ProofOracle::traceable().
|
inline |
Definition at line 53 of file hashKey.h.
Referenced by osl::checkmate::DfpnTable::addDag(), osl::checkmate::DfpnPathTable::allocate(), osl::checkmate::ProofTreeDepthDfpn::Table::expectMoreDepth(), osl::checkmate::DfpnTable::find(), isSameBoard(), osl::checkmate::DfpnTable::leaveWorking(), osl::hash::operator<(), osl::hash::operator<<(), osl::hash::operator==(), osl::checkmate::DfpnPathTable::probe(), osl::checkmate::DfpnTable::setWorking(), osl::checkmate::ProofTreeDepthDfpn::Table::store(), and osl::checkmate::DfpnTable::store().
|
inline |
|
inline |
Definition at line 94 of file hashKey.h.
Referenced by osl::hash::HashKey::newMakeMove(), and osl::hash::HashKey::newUnmakeMove().
|
inline |
|
inline |
Definition at line 101 of file hashKey.h.
References osl::playerToIndex().
|
inline |
|
inline |
Definition at line 75 of file hashKey.h.
References osl::PieceStand::addAtmostOnePiece(), osl::hash::HashKey128Layout::board32, osl::hash::HashKey128Layout::board64, osl::PieceStand::getFlags(), and pieceStand().
|
inline |
Definition at line 84 of file hashKey.h.
References osl::hash::HashKey128Layout::board32, osl::hash::HashKey128Layout::board64, osl::PieceStand::getFlags(), pieceStand(), and osl::PieceStand::subAtmostOnePiece().
|
inline |
Definition at line 112 of file hashKey.h.
Referenced by osl::hash::HashKey::dumpContents().
|
inline |
Definition at line 63 of file hashKey.h.
Referenced by osl::hash::HashKey::dumpContents(), operator+=(), operator-=(), osl::hash::operator<(), osl::hash::operator<<(), and osl::hash::operator==().
|
inline |
|
inline |
Definition at line 65 of file hashKey.h.
References osl::PieceStand::getFlags().
|
inline |
Definition at line 95 of file hashKey.h.
References osl::playerToIndex().
Referenced by osl::hash::HashKey::HashKey().
void osl::hash::HashKey128::setRandom | ( | ) |
乱数で初期化.
pieceStandには触らない
Definition at line 10 of file hashKey.cc.
References osl::hash::HashKey128Layout::board32, and osl::hash::HashKey128Layout::board64.
|
inline |
Definition at line 57 of file hashKey.h.
Referenced by osl::checkmate::DfpnTable::keyToIndex(), std::hash< osl::HashKey >::operator()(), and osl::hash::HashRandomPair::value().
|
inline |
Definition at line 111 of file hashKey.h.
Referenced by osl::hash::HashKey::dumpContents().
|
inline |
Definition at line 105 of file hashKey.h.
References osl::BLACK, and osl::WHITE.
Referenced by osl::checkmate::Dfpn::findDagSource(), osl::RepetitionCounter::isConsistent(), osl::RepetitionCounter::push(), and osl::checkmate::DfpnTable::List::testTable().
|
friend |