Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
osl::checkmate::DfpnTable Class Reference

詰探索局面表 -- 並列でも共有する部分 More...

#include <dfpn.h>

List of all members.

Classes

struct  List
struct  Table

Public Member Functions

 DfpnTable (Player attack)
 DfpnTable ()
 ~DfpnTable ()
template<Player Attack>
const DfpnRecord probe (const HashKey &key, PieceStand white) const
const DfpnRecord probe (const HashKey &key, PieceStand white) const
template<Player Attack>
const DfpnRecord findProofOracle (const HashKey &key, PieceStand white, Move last_move=Move()) const
const DfpnRecord findProofOracle (const HashKey &key, PieceStand white, Move last_move=Move()) const
template<Player Attack>
void showProofOracles (const HashKey &key, PieceStand white, Move last_move=Move()) const
size_t size () const
void showStats () const
void setAttack (Player)
void setWorking (const HashKey &key, const DfpnRecord &value, int thread_id)
void leaveWorking (const HashKey &key, int thread_id)
void store (const HashKey &key, DfpnRecord &value, int leaving_thread_id=-1)
void addDag (const HashKey &key, DfpnRecord &value)
void clear ()
size_t totalSize ()
Player attack () const
void testTable ()
size_t smallTreeGC (size_t threshold=10)

Private Member Functions

template<Player Attack>
Listfind (const HashKey &key, int subindex)
template<Player Attack>
const Listfind (const HashKey &key, int subindex) const

Static Private Member Functions

static int keyToIndex (const HashKey &key)

Private Attributes

boost::scoped_array< Tabletable
size_t total_size

Static Private Attributes

static const int DIVSIZE = 1

Detailed Description

詰探索局面表 -- 並列でも共有する部分

Definition at line 44 of file dfpn.h.


Constructor & Destructor Documentation

osl::checkmate::DfpnTable::DfpnTable ( Player  attack)

Definition at line 809 of file dfpn.cc.

References setAttack().

osl::checkmate::DfpnTable::DfpnTable ( )

Definition at line 816 of file dfpn.cc.

osl::checkmate::DfpnTable::~DfpnTable ( )

Definition at line 821 of file dfpn.cc.


Member Function Documentation

void osl::checkmate::DfpnTable::addDag ( const HashKey &  key,
DfpnRecord value 
)
osl::Player osl::checkmate::DfpnTable::attack ( ) const

Definition at line 843 of file dfpn.cc.

void osl::checkmate::DfpnTable::clear ( )

Definition at line 1029 of file dfpn.cc.

References SCOPED_LOCK.

template<osl::Player Attack>
osl::checkmate::DfpnTable::List * osl::checkmate::DfpnTable::find ( const HashKey &  key,
int  subindex 
) [private]

Definition at line 851 of file dfpn.cc.

References osl::find().

template<osl::Player Attack>
const osl::checkmate::DfpnTable::List * osl::checkmate::DfpnTable::find ( const HashKey &  key,
int  subindex 
) const [private]

Definition at line 869 of file dfpn.cc.

References osl::find().

const DfpnRecord osl::checkmate::DfpnTable::findProofOracle ( const HashKey &  key,
PieceStand  white,
Move  last_move = Move() 
) const
template<osl::Player Attack>
const osl::checkmate::DfpnRecord osl::checkmate::DfpnTable::findProofOracle ( const HashKey &  key,
PieceStand  white,
Move  last_move = Move() 
) const

Definition at line 909 of file dfpn.cc.

References osl::checkmate::DfpnTable::List::findProofOracle(), and SCOPED_LOCK.

static int osl::checkmate::DfpnTable::keyToIndex ( const HashKey &  key) [inline, static, private]

Definition at line 95 of file dfpn.h.

References DIVSIZE.

void osl::checkmate::DfpnTable::leaveWorking ( const HashKey &  key,
int  thread_id 
)

Definition at line 1012 of file dfpn.cc.

References osl::checkmate::DfpnTable::List::leaveWorking(), and SCOPED_LOCK.

const DfpnRecord osl::checkmate::DfpnTable::probe ( const HashKey &  key,
PieceStand  white 
) const
template<osl::Player Attack>
const osl::checkmate::DfpnRecord osl::checkmate::DfpnTable::probe ( const HashKey &  key,
PieceStand  white 
) const

Definition at line 887 of file dfpn.cc.

References osl::checkmate::DfpnTable::List::probe(), and SCOPED_LOCK.

Referenced by analyzeCheckmate().

void osl::checkmate::DfpnTable::setAttack ( Player  a)

Definition at line 835 of file dfpn.cc.

Referenced by DfpnTable(), and osl::checkmate::DualDfpn::Local::Local().

void osl::checkmate::DfpnTable::setWorking ( const HashKey &  key,
const DfpnRecord value,
int  thread_id 
)
template<osl::Player Attack>
void osl::checkmate::DfpnTable::showProofOracles ( const HashKey &  key,
PieceStand  white,
Move  last_move = Move() 
) const

Definition at line 932 of file dfpn.cc.

References SCOPED_LOCK, and osl::checkmate::DfpnTable::List::showProofOracles().

void osl::checkmate::DfpnTable::showStats ( ) const

Definition at line 825 of file dfpn.cc.

size_t osl::checkmate::DfpnTable::size ( ) const

Definition at line 1089 of file dfpn.cc.

size_t osl::checkmate::DfpnTable::smallTreeGC ( size_t  threshold = 10)

Definition at line 1063 of file dfpn.cc.

References SCOPED_LOCK.

void osl::checkmate::DfpnTable::store ( const HashKey &  key,
DfpnRecord value,
int  leaving_thread_id = -1 
)
void osl::checkmate::DfpnTable::testTable ( )

Definition at line 1041 of file dfpn.cc.

References SCOPED_LOCK.

size_t osl::checkmate::DfpnTable::totalSize ( ) [inline]

Definition at line 75 of file dfpn.h.

References total_size.


Member Data Documentation

const int osl::checkmate::DfpnTable::DIVSIZE = 1 [static, private]

Definition at line 93 of file dfpn.h.

Referenced by keyToIndex().

boost::scoped_array<Table> osl::checkmate::DfpnTable::table [private]

Definition at line 47 of file dfpn.h.

Referenced by osl::checkmate::DualDfpn::table().

Definition at line 49 of file dfpn.h.

Referenced by totalSize().


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