All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Friends | List of all members
osl::search::QuiescenceRecord Class Reference

QuiescenceSearch で表に保存するデータ More...

#include <quiescenceRecord.h>

Inheritance diagram for osl::search::QuiescenceRecord:
Inheritance graph
[legend]
Collaboration diagram for osl::search::QuiescenceRecord:
Collaboration graph
[legend]

Public Member Functions

 QuiescenceRecord ()
 
 QuiescenceRecord (const QuiescenceRecord &src)
 copy constructor: copy everything except for mutex More...
 
QuiescenceRecordoperator= (const QuiescenceRecord &src)
 
template<Player Turn>
const Square8 sendOffSquare (const NumEffectState &state) const
 
const Square8 sendOffSquare (Player turn, const NumEffectState &state) const
 
int checkmateNodesLeft (int max)
 
int threatmateNodesLeft (int max)
 
int checkmateNodes () const
 今までに詰将棋で探したノード数 More...
 
int threatmateNodes () const
 
void clear ()
 
void setStaticValue (StaticValueType type, int value, int depth, const QuiescenceThreat &t1=QuiescenceThreat(), const QuiescenceThreat &t2=QuiescenceThreat())
 
void setLowerBound (int depth, int bound, Move best_move)
 
void setUpperBound (int depth, int bound)
 
void setHistoryValue (int value)
 
void setHistoryValue (Move best_move, int value)
 
void addKillerMoves (const MoveVector &new_moves)
 
StaticValueType staticValueType () const
 
bool hasStaticValue () const
 
bool hasStaticValue (int &value, int &depth, StaticValueType &type) const
 
int staticValue () const
 
int staticValueDepth () const
 
int upperDepth () const
 
int lowerDepth () const
 
int upperBound () const
 
int lowerBound () const
 
const Move bestMove () const
 
int movesEmpty () const
 
int movesSizeLessThan (size_t n) const
 
int moves_size () const
 
void loadMoves (MoveVector &dst) const
 
void dump (std::ostream &) const
 
const QuiescenceThreat staticThreat (int index) const
 
void updateThreatmate (Player turn, const DualThreatmateState *parent, bool in_check)
 

Static Public Member Functions

static const char * toString (StaticValueType)
 

Friends

class SimpleHashRecord
 

Additional Inherited Members

- Public Types inherited from osl::search::QuiescenceRecordBase
enum  { InitialDepth = -128 }
 使えない深さ. More...
 
enum  StaticValueType { UNKNOWN, UPPER_BOUND, EXACT }
 
- Public Attributes inherited from osl::search::QuiescenceRecordBase
int upper_bound
 
int lower_bound
 
BestMoves best_moves
 
QuiescenceThreat threat1
 static_value への脅威 More...
 
QuiescenceThreat threat2
 
int static_value
 
int checkmate_nodes
 
DualThreatmateState threatmate
 
int threatmate_nodes
 
int8_t upper_depth
 upper_bound, lower_bound, static_value を探索した深さ More...
 
int8_t lower_depth
 
int8_t static_value_depth
 
- Protected Member Functions inherited from osl::search::QuiescenceRecordBase
 QuiescenceRecordBase ()
 
 ~QuiescenceRecordBase ()
 

Detailed Description

QuiescenceSearch で表に保存するデータ

Definition at line 137 of file quiescenceRecord.h.

Constructor & Destructor Documentation

osl::search::QuiescenceRecord::QuiescenceRecord ( )
inline

Definition at line 147 of file quiescenceRecord.h.

osl::search::QuiescenceRecord::QuiescenceRecord ( const QuiescenceRecord src)
inline

copy constructor: copy everything except for mutex

Definition at line 153 of file quiescenceRecord.h.

Member Function Documentation

void osl::search::QuiescenceRecord::addKillerMoves ( const MoveVector &  new_moves)
inline
const Move osl::search::QuiescenceRecord::bestMove ( ) const
inline
int osl::search::QuiescenceRecord::checkmateNodes ( ) const
inline

今までに詰将棋で探したノード数

Definition at line 224 of file quiescenceRecord.h.

References osl::search::QuiescenceRecordBase::checkmate_nodes.

int osl::search::QuiescenceRecord::checkmateNodesLeft ( int  max)
inline
void osl::search::QuiescenceRecord::clear ( )
inline
void osl::search::QuiescenceRecord::dump ( std::ostream &  os) const

Definition at line 12 of file quiescenceRecord.cc.

References osl::record::csa::show().

Referenced by osl::search::QuiescenceLog::pushMove().

bool osl::search::QuiescenceRecord::hasStaticValue ( ) const
inline
bool osl::search::QuiescenceRecord::hasStaticValue ( int &  value,
int &  depth,
StaticValueType type 
) const
inline
void osl::search::QuiescenceRecord::loadMoves ( MoveVector &  dst) const
inline
int osl::search::QuiescenceRecord::lowerBound ( ) const
inline
int osl::search::QuiescenceRecord::lowerDepth ( ) const
inline
int osl::search::QuiescenceRecord::moves_size ( ) const
inline
int osl::search::QuiescenceRecord::movesEmpty ( ) const
inline
int osl::search::QuiescenceRecord::movesSizeLessThan ( size_t  n) const
inline
QuiescenceRecord& osl::search::QuiescenceRecord::operator= ( const QuiescenceRecord src)
inline

Definition at line 157 of file quiescenceRecord.h.

template<Player Turn>
const Square8 osl::search::QuiescenceRecord::sendOffSquare ( const NumEffectState &  state) const
inline
const Square8 osl::search::QuiescenceRecord::sendOffSquare ( Player  turn,
const NumEffectState &  state 
) const
inline

Definition at line 182 of file quiescenceRecord.h.

References osl::BLACK.

void osl::search::QuiescenceRecord::setHistoryValue ( int  value)
inline
void osl::search::QuiescenceRecord::setHistoryValue ( Move  best_move,
int  value 
)
inline
void osl::search::QuiescenceRecord::setLowerBound ( int  depth,
int  bound,
Move  best_move 
)
inline
void osl::search::QuiescenceRecord::setStaticValue ( StaticValueType  type,
int  value,
int  depth,
const QuiescenceThreat t1 = QuiescenceThreat(),
const QuiescenceThreat t2 = QuiescenceThreat() 
)
inline
void osl::search::QuiescenceRecord::setUpperBound ( int  depth,
int  bound 
)
inline
const QuiescenceThreat osl::search::QuiescenceRecord::staticThreat ( int  index) const
inline
int osl::search::QuiescenceRecord::staticValue ( ) const
inline
int osl::search::QuiescenceRecord::staticValueDepth ( ) const
inline
StaticValueType osl::search::QuiescenceRecord::staticValueType ( ) const
inline
int osl::search::QuiescenceRecord::threatmateNodes ( ) const
inline
int osl::search::QuiescenceRecord::threatmateNodesLeft ( int  max)
inline
Parameters
maxこのrecordで使って良いノード数
Returns
詰めろ確認の詰将棋に使えるノード数を返す

Definition at line 210 of file quiescenceRecord.h.

References osl::eval::max(), SCOPED_LOCK_CHAR, and osl::search::QuiescenceRecordBase::threatmate_nodes.

Referenced by osl::search::QuiescenceSearch2< EvalT >::staticValue(), and osl::search::AlphaBeta2Tree< EvalT >::testThreatmate().

const char * osl::search::QuiescenceRecord::toString ( StaticValueType  type)
static

Definition at line 44 of file quiescenceRecord.cc.

void osl::search::QuiescenceRecord::updateThreatmate ( Player  turn,
const DualThreatmateState parent,
bool  in_check 
)
inline
int osl::search::QuiescenceRecord::upperBound ( ) const
inline
int osl::search::QuiescenceRecord::upperDepth ( ) const
inline

Friends And Related Function Documentation

friend class SimpleHashRecord
friend

Definition at line 350 of file quiescenceRecord.h.


The documentation for this class was generated from the following files: