クラス osl::ntesuki::NtesukiRecord

̤ˤĤơζ̤ nꤹõ ̤ݻƤ饹. [詳細]

#include <ntesukiRecord.h>

osl::ntesuki::NtesukiRecordのコラボレーション図

Collaboration graph
[凡例]

すべてのメンバ一覧

Public 型

enum  IWScheme { no_iw = 0, strict_iw = 1, pn_iw = 2 }
enum  PSScheme { no_ps = 0, pn_ps = 1 }
enum  ISScheme { no_is = 0, tonshi_is = 1, delay_is = 2, normal_is = 3 }
typedef slist< NtesukiRecordRecordList
typedef slist< NtesukiRecord * > RecordPList

Public メソッド

 NtesukiRecord (signed short distance, const HashKey &key, const PieceStand &white_stand, RecordList *same_board_list)
 󥹥ȥ饯.
 ~NtesukiRecord ()
Player turn () const
 
bool isBySimulation () const
 simulation ˤäͤޤä
template<Player P>
const PieceStandgetPieceStand () const
 ζ̤ǤΥץ쥤λ.
const PieceStandgetPieceStandSlow (Player P) const
template<Player A>
PieceStand calcProofPiecesOr (int pass_left, const NtesukiMove &m)
 ׻.
template<Player A>
PieceStand calcProofPiecesAnd (int pass_left)
template<Player A>
void setProofPieces (int pass_left, const NtesukiResult &r, const NtesukiMove &m, const PieceStand *ps)
 ꤹ.
template<osl::Player A>
void setDisproofPieces (int pass_left, const NtesukiResult &r, const NtesukiMove &m, const PieceStand *ps)
 ȿڶꤹ.
template<Player A>
void setResult (int i, const NtesukiResult &r, const NtesukiMove &m, bool bs, const PieceStand *ps=NULL)
 õη̤Ǽ
  • A ¦Υץ쥤

template<Player A>
const NtesukiResult getValue (int i) const
 ΥΡɤ NtesukiResult ͤĴ٤
  • A ¦Υץ쥤

template<Player A>
const NtesukiResult getValueWithPath (int i, const PathEncoding path) const
template<Player A>
const NtesukiResult getValueOr (int i, const PathEncoding path, IWScheme iwscheme) const
template<Player A>
const NtesukiResult getValueAnd (int i, const PathEncoding path, IWScheme iwscheme, PSScheme psscheme) const
const NtesukiResult getValueSlow (const Player attacker, int i) const
const NtesukiResult getValueOfTurn (int i) const
const NtesukiResult valueBeforeFinal () const
int isWin (const Player attacker) const
template<Player A>
const NtesukiMovegetBestMove (int i) const
 ϿƤ֤.
const NtesukiMovegetBestMoveSlow (Player attacker, int i) const
bool isVisited () const
 Loop ˤʤäƤ뤫å.
bool isFinal ()
void setVisited ()
void resetVisited ()
template<Player A>
bool isByFixed () const
 Fixed Depth Searcher ˤäͤꤵ줿.
bool isByFixedSlow (Player attacker) const
template<Player A>
bool isNtesuki (int pass_left) const
 ΥΡɤ nꤹˤʤäƤ뤫.
template<Player A>
void setNtesuki (int pass_left)
template<Player A>
bool hasTriedPropagatedOracle (int pass_left) const
 ΥΡɤǿƤ褿 oracle 
template<Player A>
void triedPropagatedOracle (int pass_left)
template<Player A>
PieceStand getPDPieces (int pass_left) const
 
PieceStand getPDPiecesSlow (Player attacker, int pass_left) const
template<Player A>
void setPDPieces (int pass_left, const PieceStand p)
bool readInterpose (int pass_left) const
 ̵̹礤ɤ٤.
void setReadInterpose (int pass_left)
bool readCheckDefense (int pass_left) const
 defense κݤ˲ɤ٤.
void setReadCheckDefense (int pass_left)
bool readNonAttack (int pass_left) const
 attack κݤˡҥ塼ꥹƥåȽ̤줿ʳɤफ.
void setReadNonAttack (int pass_left)
template<Player A>
bool useOld (int pass_left) const
 old child ɤ٤.
template<Player A>
void setUseOld (int pass_left, bool value)
template<Player A>
bool isLoopWithPath (int pass_left, const PathEncoding &path) const
  path loop ˤʤ뤫
template<Player A>
void setLoopWithPath (int pass_left, const PathEncoding &path)
template<Player A>
bool hasLoop (int pass_left) const
template<Player P>
bool setUpNode ()
 Fixed Depth Searcher Ƥ.
template<Player P>
void setUpAttackNode ()
template<Player P>
void setUpDefenseNode ()
void updateWithChild (NtesukiRecord *child, int pass_left)
template<Player P>
void generateMoves (NtesukiMoveList &moves, int pass_left, bool all_moves)
 .
bool operator== (const NtesukiRecord &record)
unsigned int getChildCount () const
void addChildCount (unsigned int i)
unsigned int getReadCount () const
unsigned int getWrittenCount () const
void checkNewParent (NtesukiRecord *p)
template<osl::Player P>
rzones_trzone ()
template<Player P>
bool isDominatedByProofPieces (const NtesukiRecord *record, int pass_left) const
template<Player P>
bool isDominatedByDisproofPieces (const NtesukiRecord *record, int pass_left) const
template<Player P>
bool isBetterFor (NtesukiRecord *record)

Public 変数

PieceStand black_stand
 ƥץ쥤λ
PieceStand white_stand
unsigned short distance
 root κû path εΥ
HashKey key
 ̤ HashKey
RecordListsame_board_list
 ̡֤Ʊǡ㤦̤Υꥹ
RecordPList parents
 ƶ̤Υꥹ
int rev_refcount
bool is_split
bool do_oracle_attack
 DAG ʬή
bool do_oracle_aunt
bool rzone_move_generation

Static Public 変数

static const unsigned int SIZE = 2
 Υ.
static unsigned int fixed_search_depth = 0
 õطοʾ.
static unsigned int inversion_cost = 0
static bool use_dominance = false
static int pass_count = 0
static bool max_for_split = false
static bool use_rzone_move_generation = false
static bool delay_lame_long = false
static bool use_9rzone = false
static NumEffectState * state = NULL
static NtesukiMoveGeneratormg = NULL
static NtesukiTabletable = NULL
static unsigned int split_count = 0
 ʬήĤ뤫.
static unsigned int confluence_count = 0
 ήĤ뤫.

Private 型

typedef CArray< NtesukiResult,
SIZE
values_t
typedef CArray< NtesukiMove, SIZEmoves_t
typedef CArray< short, SIZE-1 > nodesread_t
typedef CArray< PieceStand, SIZEpdpieces_t
typedef CArray< bool, SIZEflags_t
typedef CArray
< PathEncodingList, SIZE
pell_t
typedef CArray< Rzone, SIZErzones_t

Private メソッド

bool isNewParent (const NtesukiRecord *p) const
void find_split (NtesukiRecord *rhs, RecordPList &lvisited, RecordPList &rvisited)
bool find_split_right (NtesukiRecord *rhs, RecordPList &lvisited, RecordPList &rvisited)
void addNewParent (NtesukiRecord *p)
 NtesukiRecord ()
template<Player P>
bool & by_fixed ()
template<Player P>
const bool & by_fixed () const
template<Player P>
PieceStandpiece_stand ()
template<Player P>
const PieceStandpiece_stand () const
template<Player P>
values_tvalues ()
template<Player P>
const values_tvalues () const
template<Player P>
moves_tbest_move ()
template<Player P>
const moves_tbest_move () const
template<Player P>
pdpieces_tpdpieces ()
template<Player P>
const pdpieces_tpdpieces () const
template<Player P>
flags_tis_ntesuki ()
template<Player P>
const flags_tis_ntesuki () const
template<Player P>
flags_tpropagated_oracle ()
template<Player P>
const flags_t propagated_oracle () const
template<Player P>
flags_tuse_old ()
template<Player P>
const flags_t use_old () const
template<Player P>
pell_tloop_path_list ()
template<Player P>
const pell_tloop_path_list () const
template<Player P>
void setFinal (int i, const NtesukiResult &r, const NtesukiMove &m, const PieceStand *ps)
void lookup_same_board_list ()
 Dominace .
template<Player P>
void propagate_proof (int pass_left)
template<Player P>
void propagate_disproof (int pass_left)

Private 変数

values_t values_black
values_t values_white
moves_t best_move_black
moves_t best_move_white
pdpieces_t pd_pieces_black
pdpieces_t pd_pieces_white
pell_t loop_path_list_black
 Ʊζ̤ǡLoop ˤʤäƤΤ Path
pell_t loop_path_list_white
unsigned int child_count
unsigned int read_count
unsigned int written_count
NtesukiResult value_before_final
bool visited
 setResult final ͤꤵľ result
bool by_simulation
bool by_fixed_black
bool by_fixed_white
bool already_set_up
bool final
flags_t read_interpose
flags_t read_check_defense
flags_t read_non_attack
flags_t is_ntesuki_black
flags_t is_ntesuki_white
flags_t propagated_oracle_black
flags_t propagated_oracle_white
flags_t use_old_black
flags_t use_old_white
rzones_t rzone_black
rzones_t rzone_white

構成

class  UnVisitLock
class  VisitLock


説明

̤ˤĤơζ̤ nꤹõ ̤ݻƤ饹.

ntesukiRecord.h32 行で定義されています。


型定義

ntesukiRecord.h35 行で定義されています。

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

ntesukiRecord.h517 行で定義されています。

ntesukiRecord.h518 行で定義されています。

typedef CArray<short, SIZE - 1> osl::ntesuki::NtesukiRecord::nodesread_t [private]

ntesukiRecord.h519 行で定義されています。

ntesukiRecord.h520 行で定義されています。

typedef CArray<bool, SIZE> osl::ntesuki::NtesukiRecord::flags_t [private]

ntesukiRecord.h521 行で定義されています。

ntesukiRecord.h522 行で定義されています。

typedef CArray<Rzone, SIZE> osl::ntesuki::NtesukiRecord::rzones_t [private]

ntesukiRecord.h523 行で定義されています。


列挙型

列挙型の値:
no_iw 
strict_iw 
pn_iw 

ntesukiRecord.h41 行で定義されています。

列挙型の値:
no_ps 
pn_ps 

ntesukiRecord.h45 行で定義されています。

列挙型の値:
no_is 
tonshi_is 
delay_is 
normal_is 

ntesukiRecord.h48 行で定義されています。


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

osl::ntesuki::NtesukiRecord::NtesukiRecord ( signed short  distance,
const HashKey &  key,
const PieceStand white_stand,
RecordList same_board_list 
)

osl::ntesuki::NtesukiRecord::~NtesukiRecord (  )  [inline]

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

osl::ntesuki::NtesukiRecord::NtesukiRecord (  )  [private]


関数

Player osl::ntesuki::NtesukiRecord::turn (  )  const [inline]

bool osl::ntesuki::NtesukiRecord::isBySimulation (  )  const [inline]

simulation ˤäͤޤä

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

参照先 by_simulation.

template<Player P>
const PieceStand& osl::ntesuki::NtesukiRecord::getPieceStand (  )  const [inline]

ζ̤ǤΥץ쥤λ.

  • P ץ쥤

ntesukiRecord.h121 行で定義されています。

参照元 osl::ntesuki::OracleProverLight::startFromAttack(), と osl::ntesuki::OracleProverLight::startFromDefense().

const PieceStand& osl::ntesuki::NtesukiRecord::getPieceStandSlow ( Player  P  )  const [inline]

template<osl::Player P>
osl::PieceStand osl::ntesuki::NtesukiRecord::calcProofPiecesOr ( int  pass_left,
const NtesukiMove m 
) [inline]

template<osl::Player P>
osl::PieceStand osl::ntesuki::NtesukiRecord::calcProofPiecesAnd ( int  pass_left  )  [inline]

template<osl::Player P>
void osl::ntesuki::NtesukiRecord::setProofPieces ( int  pass_left,
const NtesukiResult r,
const NtesukiMove m,
const PieceStand ps 
) [inline]

template<osl::Player P>
void osl::ntesuki::NtesukiRecord::setDisproofPieces ( int  pass_left,
const NtesukiResult r,
const NtesukiMove m,
const PieceStand ps 
) [inline]

template<osl::Player P>
template void osl::ntesuki::NtesukiRecord::setResult< WHITE > ( int  i,
const NtesukiResult r,
const NtesukiMove m,
bool  bs,
const PieceStand ps = NULL 
) [inline]

template<osl::Player P>
const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValue ( int  i  )  const [inline]

template<osl::Player P>
template const NtesukiResult osl::ntesuki::NtesukiRecord::getValueWithPath< WHITE > ( int  i,
const PathEncoding  path 
) const [inline]

template<osl::Player P>
template const NtesukiResult osl::ntesuki::NtesukiRecord::getValueOr< WHITE > ( int  i,
const PathEncoding  path,
IWScheme  iwscheme 
) const [inline]

template<osl::Player P>
template const NtesukiResult osl::ntesuki::NtesukiRecord::getValueAnd< WHITE > ( int  i,
const PathEncoding  path,
IWScheme  iwscheme,
PSScheme  psscheme 
) const [inline]

const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValueSlow ( const Player  attacker,
int  i 
) const

ntesukiRecord.cc160 行で定義されています。

参照先 osl::BLACK.

参照元 getValueOfTurn(), と isWin().

const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValueOfTurn ( int  i  )  const

ntesukiRecord.cc170 行で定義されています。

参照先 getValueSlow(), と turn().

const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::valueBeforeFinal (  )  const

ntesukiRecord.cc177 行で定義されています。

参照先 value_before_final.

int osl::ntesuki::NtesukiRecord::isWin ( const Player  attacker  )  const [inline]

ntesukiRecord.h203 行で定義されています。

参照先 getValueSlow(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), と SIZE.

template<osl::Player P>
const osl::ntesuki::NtesukiMove & osl::ntesuki::NtesukiRecord::getBestMove ( int  i  )  const [inline]

const osl::ntesuki::NtesukiMove & osl::ntesuki::NtesukiRecord::getBestMoveSlow ( Player  attacker,
int  i 
) const

ntesukiRecord.cc184 行で定義されています。

参照先 osl::BLACK.

bool osl::ntesuki::NtesukiRecord::isVisited (  )  const [inline]

bool osl::ntesuki::NtesukiRecord::isFinal (  )  [inline]

ntesukiRecord.h227 行で定義されています。

参照元 getValueAnd(), getValueOr(), getValueWithPath(), と setResult().

void osl::ntesuki::NtesukiRecord::setVisited (  )  [inline]

void osl::ntesuki::NtesukiRecord::resetVisited (  )  [inline]

template<osl::Player P>
bool osl::ntesuki::NtesukiRecord::isByFixed (  )  const [inline]

Fixed Depth Searcher ˤäͤꤵ줿.

ntesukiRecord.tcc1067 行で定義されています。

bool osl::ntesuki::NtesukiRecord::isByFixedSlow ( Player  attacker  )  const

ntesukiRecord.cc194 行で定義されています。

参照先 osl::BLACK.

template<osl::Player P>
template bool osl::ntesuki::NtesukiRecord::isNtesuki< WHITE > ( int  pass_left  )  const [inline]

ΥΡɤ nꤹˤʤäƤ뤫.

ntesukiRecord.tcc1033 行で定義されています。

template<osl::Player P>
template void osl::ntesuki::NtesukiRecord::setNtesuki< WHITE > ( int  pass_left  )  [inline]

template<osl::Player P>
template bool osl::ntesuki::NtesukiRecord::hasTriedPropagatedOracle< WHITE > ( int  pass_left  )  const [inline]

ΥΡɤǿƤ褿 oracle 

ntesukiRecord.tcc1050 行で定義されています。

template<osl::Player P>
template void osl::ntesuki::NtesukiRecord::triedPropagatedOracle< WHITE > ( int  pass_left  )  [inline]

ntesukiRecord.tcc1058 行で定義されています。

template<osl::Player P>
template PieceStand osl::ntesuki::NtesukiRecord::getPDPieces< WHITE > ( int  pass_left  )  const [inline]

osl::PieceStand osl::ntesuki::NtesukiRecord::getPDPiecesSlow ( Player  attacker,
int  pass_left 
) const

ntesukiRecord.cc204 行で定義されています。

参照先 osl::BLACK.

template<osl::Player P>
template void osl::ntesuki::NtesukiRecord::setPDPieces< WHITE > ( int  pass_left,
const PieceStand  p 
) [inline]

ntesukiRecord.tcc1083 行で定義されています。

bool osl::ntesuki::NtesukiRecord::readInterpose ( int  pass_left  )  const [inline]

̵̹礤ɤ٤.

ntesukiRecord.h269 行で定義されています。

参照先 read_interpose.

参照元 osl::ntesuki::NtesukiSearcher::selectMoveDefense().

void osl::ntesuki::NtesukiRecord::setReadInterpose ( int  pass_left  )  [inline]

ntesukiRecord.h274 行で定義されています。

参照先 read_interpose.

参照元 osl::ntesuki::NtesukiSearcher::selectMoveDefense().

bool osl::ntesuki::NtesukiRecord::readCheckDefense ( int  pass_left  )  const [inline]

defense κݤ˲ɤ٤.

ntesukiRecord.h282 行で定義されています。

参照先 read_check_defense.

参照元 osl::ntesuki::NtesukiSearcher::selectMoveDefense().

void osl::ntesuki::NtesukiRecord::setReadCheckDefense ( int  pass_left  )  [inline]

ntesukiRecord.h287 行で定義されています。

参照先 read_check_defense.

bool osl::ntesuki::NtesukiRecord::readNonAttack ( int  pass_left  )  const [inline]

attack κݤˡҥ塼ꥹƥåȽ̤줿ʳɤफ.

ntesukiRecord.h295 行で定義されています。

参照先 read_non_attack.

参照元 osl::ntesuki::NtesukiSearcher::selectMoveAttack().

void osl::ntesuki::NtesukiRecord::setReadNonAttack ( int  pass_left  )  [inline]

ntesukiRecord.h300 行で定義されています。

参照先 read_non_attack.

参照元 osl::ntesuki::NtesukiSearcher::selectMoveAttack().

template<osl::Player A>
template bool osl::ntesuki::NtesukiRecord::useOld< WHITE > ( int  pass_left  )  const [inline]

template<osl::Player A>
template void osl::ntesuki::NtesukiRecord::setUseOld< WHITE > ( int  pass_left,
bool  value 
) [inline]

template<osl::Player P>
template bool osl::ntesuki::NtesukiRecord::isLoopWithPath< WHITE > ( int  pass_left,
const PathEncoding path 
) const [inline]

template<osl::Player P>
template void osl::ntesuki::NtesukiRecord::setLoopWithPath< WHITE > ( int  pass_left,
const PathEncoding path 
) [inline]

template<Player A>
bool osl::ntesuki::NtesukiRecord::hasLoop ( int  pass_left  )  const [inline]

ntesukiRecord.h327 行で定義されています。

template<osl::Player T>
template bool osl::ntesuki::NtesukiRecord::setUpNode< WHITE > (  )  [inline]

template<osl::Player T>
void osl::ntesuki::NtesukiRecord::setUpAttackNode (  )  [inline]

template<osl::Player T>
void osl::ntesuki::NtesukiRecord::setUpDefenseNode (  )  [inline]

void osl::ntesuki::NtesukiRecord::updateWithChild ( NtesukiRecord child,
int  pass_left 
)

ntesukiRecord.cc90 行で定義されています。

参照先 osl::BLACK, rzone(), SIZE, と osl::WHITE.

template<osl::Player P>
template void osl::ntesuki::NtesukiRecord::generateMoves< WHITE > ( NtesukiMoveList moves,
int  pass_left,
bool  all_moves 
) [inline]

bool osl::ntesuki::NtesukiRecord::operator== ( const NtesukiRecord record  )  [inline]

ntesukiRecord.h360 行で定義されています。

参照先 key.

unsigned int osl::ntesuki::NtesukiRecord::getChildCount (  )  const [inline]

void osl::ntesuki::NtesukiRecord::addChildCount ( unsigned int  i  )  [inline]

unsigned int osl::ntesuki::NtesukiRecord::getReadCount (  )  const [inline]

ntesukiRecord.h376 行で定義されています。

参照先 read_count.

unsigned int osl::ntesuki::NtesukiRecord::getWrittenCount (  )  const [inline]

ntesukiRecord.h381 行で定義されています。

参照先 written_count.

bool osl::ntesuki::NtesukiRecord::isNewParent ( const NtesukiRecord p  )  const [inline, private]

ntesukiRecord.h388 行で定義されています。

参照先 parents.

参照元 addNewParent(), と checkNewParent().

void osl::ntesuki::NtesukiRecord::find_split ( NtesukiRecord rhs,
RecordPList lvisited,
RecordPList rvisited 
) [inline, private]

ntesukiRecord.h398 行で定義されています。

参照先 osl::find(), find_split_right(), と parents.

参照元 checkNewParent().

bool osl::ntesuki::NtesukiRecord::find_split_right ( NtesukiRecord rhs,
RecordPList lvisited,
RecordPList rvisited 
) [inline, private]

ntesukiRecord.h438 行で定義されています。

参照先 osl::find(), is_split, parents, と split_count.

参照元 find_split().

void osl::ntesuki::NtesukiRecord::addNewParent ( NtesukiRecord p  )  [inline, private]

ntesukiRecord.h485 行で定義されています。

参照先 isNewParent(), ntesuki_assert, parents, と rev_refcount.

参照元 checkNewParent().

void osl::ntesuki::NtesukiRecord::checkNewParent ( NtesukiRecord p  )  [inline]

template<Player P>
bool& osl::ntesuki::NtesukiRecord::by_fixed (  )  [inline, private]

ntesukiRecord.h562 行で定義されています。

参照先 osl::BLACK, by_fixed_black, と by_fixed_white.

template<Player P>
const bool& osl::ntesuki::NtesukiRecord::by_fixed (  )  const [inline, private]

ntesukiRecord.h570 行で定義されています。

参照先 osl::BLACK, by_fixed_black, と by_fixed_white.

template<Player P>
PieceStand& osl::ntesuki::NtesukiRecord::piece_stand (  )  [inline, private]

ntesukiRecord.h578 行で定義されています。

参照先 osl::BLACK, black_stand, と white_stand.

template<Player P>
const PieceStand& osl::ntesuki::NtesukiRecord::piece_stand (  )  const [inline, private]

ntesukiRecord.h586 行で定義されています。

参照先 osl::BLACK, black_stand, と white_stand.

template<Player P>
values_t& osl::ntesuki::NtesukiRecord::values (  )  [inline, private]

ntesukiRecord.h594 行で定義されています。

参照先 osl::BLACK, values_black, と values_white.

template<Player P>
const values_t& osl::ntesuki::NtesukiRecord::values (  )  const [inline, private]

ntesukiRecord.h602 行で定義されています。

参照先 osl::BLACK, values_black, と values_white.

template<Player P>
moves_t& osl::ntesuki::NtesukiRecord::best_move (  )  [inline, private]

ntesukiRecord.h610 行で定義されています。

参照先 best_move_black, best_move_white, と osl::BLACK.

参照元 lookup_same_board_list(), setUpAttackNode(), と setUpDefenseNode().

template<Player P>
const moves_t& osl::ntesuki::NtesukiRecord::best_move (  )  const [inline, private]

ntesukiRecord.h618 行で定義されています。

参照先 best_move_black, best_move_white, と osl::BLACK.

template<Player P>
pdpieces_t& osl::ntesuki::NtesukiRecord::pdpieces (  )  [inline, private]

ntesukiRecord.h626 行で定義されています。

参照先 osl::BLACK, pd_pieces_black, と pd_pieces_white.

template<Player P>
const pdpieces_t& osl::ntesuki::NtesukiRecord::pdpieces (  )  const [inline, private]

ntesukiRecord.h634 行で定義されています。

参照先 osl::BLACK, pd_pieces_black, と pd_pieces_white.

template<Player P>
flags_t& osl::ntesuki::NtesukiRecord::is_ntesuki (  )  [inline, private]

ntesukiRecord.h642 行で定義されています。

参照先 osl::BLACK, is_ntesuki_black, と is_ntesuki_white.

template<Player P>
const flags_t& osl::ntesuki::NtesukiRecord::is_ntesuki (  )  const [inline, private]

ntesukiRecord.h650 行で定義されています。

参照先 osl::BLACK, is_ntesuki_black, と is_ntesuki_white.

template<Player P>
flags_t& osl::ntesuki::NtesukiRecord::propagated_oracle (  )  [inline, private]

ntesukiRecord.h658 行で定義されています。

参照先 osl::BLACK, propagated_oracle_black, と propagated_oracle_white.

template<Player P>
const flags_t osl::ntesuki::NtesukiRecord::propagated_oracle (  )  const [inline, private]

ntesukiRecord.h666 行で定義されています。

参照先 osl::BLACK, propagated_oracle_black, と propagated_oracle_white.

template<Player P>
flags_t& osl::ntesuki::NtesukiRecord::use_old (  )  [inline, private]

ntesukiRecord.h674 行で定義されています。

参照先 osl::BLACK, use_old_black, と use_old_white.

template<Player P>
const flags_t osl::ntesuki::NtesukiRecord::use_old (  )  const [inline, private]

ntesukiRecord.h682 行で定義されています。

参照先 osl::BLACK, use_old_black, と use_old_white.

template<Player P>
pell_t& osl::ntesuki::NtesukiRecord::loop_path_list (  )  [inline, private]

ntesukiRecord.h690 行で定義されています。

参照先 osl::BLACK, loop_path_list_black, と loop_path_list_white.

template<Player P>
const pell_t& osl::ntesuki::NtesukiRecord::loop_path_list (  )  const [inline, private]

ntesukiRecord.h698 行で定義されています。

参照先 osl::BLACK, loop_path_list_black, と loop_path_list_white.

template<osl::Player P>
rzones_t& osl::ntesuki::NtesukiRecord::rzone (  )  [inline]

template<osl::Player P>
void osl::ntesuki::NtesukiRecord::setFinal ( int  i,
const NtesukiResult r,
const NtesukiMove m,
const PieceStand ps 
) [inline, private]

void osl::ntesuki::NtesukiRecord::lookup_same_board_list (  )  [private]

Dominace .

ntesukiRecord.cc101 行で定義されています。

参照先 best_move(), osl::BLACK, CATCH_DFPN, same_board_list, SIZE, TRY_DFPN, と osl::WHITE.

参照元 NtesukiRecord().

template<osl::Player P>
void osl::ntesuki::NtesukiRecord::propagate_proof ( int  pass_left  )  [inline, private]

template<osl::Player P>
void osl::ntesuki::NtesukiRecord::propagate_disproof ( int  pass_left  )  [inline, private]

template<osl::Player P>
bool osl::ntesuki::NtesukiRecord::isDominatedByProofPieces ( const NtesukiRecord record,
int  pass_left 
) const [inline]

template<osl::Player P>
bool osl::ntesuki::NtesukiRecord::isDominatedByDisproofPieces ( const NtesukiRecord record,
int  pass_left 
) const [inline]

template<osl::Player P>
bool osl::ntesuki::NtesukiRecord::isBetterFor ( NtesukiRecord record  )  [inline]

ntesukiRecord.tcc863 行で定義されています。

参照先 osl::PieceStand::hasMoreThan(), と key.


変数

const unsigned int osl::ntesuki::NtesukiRecord::SIZE = 2 [static]

õطοʾ.

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

参照元 osl::ntesuki::NtesukiSearcher::NtesukiSearcher(), setUpAttackNode(), と setUpDefenseNode().

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

参照元 getValueAnd(), と osl::ntesuki::NtesukiSearcher::NtesukiSearcher().

ntesukiRecord.h58 行で定義されています。

参照元 NtesukiRecord(), osl::ntesuki::NtesukiSearcher::NtesukiSearcher(), と setFinal().

ntesukiRecord.h61 行で定義されています。

ntesukiRecord.h62 行で定義されています。

参照元 generateMoves().

ntesukiRecord.h63 行で定義されています。

参照元 osl::ntesuki::NtesukiMoveGenerator::generateWithRzone().

osl::NumEffectState * osl::ntesuki::NtesukiRecord::state = NULL [static]

unsigned int osl::ntesuki::NtesukiRecord::split_count = 0 [static]

ƥץ쥤λ

ntesukiRecord.h75 行で定義されています。

参照元 osl::ntesuki::operator<<(), と piece_stand().

̡֤Ʊǡ㤦̤Υꥹ

ntesukiRecord.h87 行で定義されています。

参照元 lookup_same_board_list(), propagate_disproof(), と propagate_proof().

ntesukiRecord.h91 行で定義されています。

参照元 addNewParent(), と osl::ntesuki::NtesukiTable::Table::collectGarbage().

ntesukiRecord.h524 行で定義されています。

参照元 NtesukiRecord(), と values().

ntesukiRecord.h524 行で定義されています。

参照元 NtesukiRecord(), と values().

ntesukiRecord.h525 行で定義されています。

参照元 best_move().

ntesukiRecord.h525 行で定義されています。

参照元 best_move().

ntesukiRecord.h526 行で定義されています。

参照元 pdpieces().

ntesukiRecord.h526 行で定義されています。

参照元 pdpieces().

Ʊζ̤ǡLoop ˤʤäƤΤ Path

ntesukiRecord.h528 行で定義されています。

参照元 loop_path_list().

ntesukiRecord.h528 行で定義されています。

参照元 loop_path_list().

unsigned int osl::ntesuki::NtesukiRecord::child_count [mutable, private]

ntesukiRecord.h529 行で定義されています。

参照元 addChildCount(), と getChildCount().

unsigned int osl::ntesuki::NtesukiRecord::read_count [mutable, private]

ntesukiRecord.h529 行で定義されています。

参照元 getReadCount(), getValue(), getValueAnd(), getValueOr(), と getValueWithPath().

unsigned int osl::ntesuki::NtesukiRecord::written_count [mutable, private]

ntesukiRecord.h529 行で定義されています。

参照元 getWrittenCount(), と setResult().

ntesukiRecord.h531 行で定義されています。

参照元 setResult(), と valueBeforeFinal().

setResult final ͤꤵľ result

ntesukiRecord.h533 行で定義されています。

参照元 isVisited(), resetVisited(), と setVisited().

ntesukiRecord.h534 行で定義されています。

参照元 isBySimulation(), と setResult().

ntesukiRecord.h535 行で定義されています。

参照元 by_fixed().

ntesukiRecord.h535 行で定義されています。

参照元 by_fixed().

ntesukiRecord.h536 行で定義されています。

参照元 setUpNode().

ntesukiRecord.h537 行で定義されています。

DAG ʬή

ntesukiRecord.h541 行で定義されています。

参照元 osl::ntesuki::NtesukiSearcher::defenseWithPlayer().

ntesukiRecord.h546 行で定義されています。

参照元 osl::ntesuki::NtesukiSearcher::defenseWithPlayer().

ntesukiRecord.h552 行で定義されています。

参照元 NtesukiRecord(), readInterpose(), と setReadInterpose().

ntesukiRecord.h553 行で定義されています。

参照元 NtesukiRecord(), readCheckDefense(), と setReadCheckDefense().

ntesukiRecord.h554 行で定義されています。

参照元 NtesukiRecord(), readNonAttack(), と setReadNonAttack().

ntesukiRecord.h555 行で定義されています。

参照元 is_ntesuki(), と NtesukiRecord().

ntesukiRecord.h555 行で定義されています。

参照元 is_ntesuki(), と NtesukiRecord().

ntesukiRecord.h556 行で定義されています。

参照元 NtesukiRecord(), と propagated_oracle().

ntesukiRecord.h556 行で定義されています。

参照元 NtesukiRecord(), と propagated_oracle().

ntesukiRecord.h557 行で定義されています。

参照元 NtesukiRecord(), と use_old().

ntesukiRecord.h557 行で定義されています。

参照元 NtesukiRecord(), と use_old().

ntesukiRecord.h558 行で定義されています。

参照元 rzone().

ntesukiRecord.h558 行で定義されています。

参照元 rzone().


このクラスの説明は次のファイルから生成されました:

Thu Oct 8 05:01:17 2009に生成されました。  doxygen 1.5.6