#include <ntesukiRecord.h>
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< NtesukiRecord > | RecordList |
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 PieceStand & | getPieceStand () const |
ζ̤ǤΥץ쥤λ. | |
const PieceStand & | getPieceStandSlow (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) |
õη̤Ǽ
| |
template<Player A> | |
const NtesukiResult | getValue (int i) const |
ΥΡɤ NtesukiResult ͤĴ٤
| |
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 NtesukiMove & | getBestMove (int i) const |
ϿƤ֤. | |
const NtesukiMove & | getBestMoveSlow (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_t & | rzone () |
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 | |
RecordList * | same_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 NtesukiMoveGenerator * | mg = NULL |
static NtesukiTable * | table = NULL |
static unsigned int | split_count = 0 |
ʬήĤ뤫. | |
static unsigned int | confluence_count = 0 |
ήĤ뤫. | |
Private 型 | |
typedef CArray< NtesukiResult, SIZE > | values_t |
typedef CArray< NtesukiMove, SIZE > | moves_t |
typedef CArray< short, SIZE-1 > | nodesread_t |
typedef CArray< PieceStand, SIZE > | pdpieces_t |
typedef CArray< bool, SIZE > | flags_t |
typedef CArray < PathEncodingList, SIZE > | pell_t |
typedef CArray< Rzone, SIZE > | rzones_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> | |
PieceStand & | piece_stand () |
template<Player P> | |
const PieceStand & | piece_stand () const |
template<Player P> | |
values_t & | values () |
template<Player P> | |
const values_t & | values () const |
template<Player P> | |
moves_t & | best_move () |
template<Player P> | |
const moves_t & | best_move () const |
template<Player P> | |
pdpieces_t & | pdpieces () |
template<Player P> | |
const pdpieces_t & | pdpieces () const |
template<Player P> | |
flags_t & | is_ntesuki () |
template<Player P> | |
const flags_t & | is_ntesuki () const |
template<Player P> | |
flags_t & | propagated_oracle () |
template<Player P> | |
const flags_t | propagated_oracle () const |
template<Player P> | |
flags_t & | use_old () |
template<Player P> | |
const flags_t | use_old () const |
template<Player P> | |
pell_t & | loop_path_list () |
template<Player P> | |
const pell_t & | loop_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 |
ntesukiRecord.h の 32 行で定義されています。
typedef slist<NtesukiRecord> osl::ntesuki::NtesukiRecord::RecordList |
ntesukiRecord.h の 35 行で定義されています。
typedef slist<NtesukiRecord*> osl::ntesuki::NtesukiRecord::RecordPList |
ntesukiRecord.h の 36 行で定義されています。
typedef CArray<NtesukiResult, SIZE> osl::ntesuki::NtesukiRecord::values_t [private] |
ntesukiRecord.h の 517 行で定義されています。
typedef CArray<NtesukiMove, SIZE> osl::ntesuki::NtesukiRecord::moves_t [private] |
ntesukiRecord.h の 518 行で定義されています。
typedef CArray<short, SIZE - 1> osl::ntesuki::NtesukiRecord::nodesread_t [private] |
ntesukiRecord.h の 519 行で定義されています。
typedef CArray<PieceStand, SIZE> osl::ntesuki::NtesukiRecord::pdpieces_t [private] |
ntesukiRecord.h の 520 行で定義されています。
typedef CArray<bool, SIZE> osl::ntesuki::NtesukiRecord::flags_t [private] |
ntesukiRecord.h の 521 行で定義されています。
typedef CArray<PathEncodingList, SIZE> osl::ntesuki::NtesukiRecord::pell_t [private] |
ntesukiRecord.h の 522 行で定義されています。
typedef CArray<Rzone, SIZE> osl::ntesuki::NtesukiRecord::rzones_t [private] |
ntesukiRecord.h の 523 行で定義されています。
osl::ntesuki::NtesukiRecord::NtesukiRecord | ( | signed short | distance, | |
const HashKey & | key, | |||
const PieceStand & | white_stand, | |||
RecordList * | same_board_list | |||
) |
osl::ntesuki::NtesukiRecord::~NtesukiRecord | ( | ) | [inline] |
ntesukiRecord.h の 100 行で定義されています。
osl::ntesuki::NtesukiRecord::NtesukiRecord | ( | ) | [private] |
Player osl::ntesuki::NtesukiRecord::turn | ( | ) | const [inline] |
bool osl::ntesuki::NtesukiRecord::isBySimulation | ( | ) | const [inline] |
const PieceStand& osl::ntesuki::NtesukiRecord::getPieceStand | ( | ) | const [inline] |
ζ̤ǤΥץ쥤λ.
ntesukiRecord.h の 121 行で定義されています。
参照元 osl::ntesuki::OracleProverLight::startFromAttack(), と osl::ntesuki::OracleProverLight::startFromDefense().
const PieceStand& osl::ntesuki::NtesukiRecord::getPieceStandSlow | ( | Player | P | ) | const [inline] |
ntesukiRecord.h の 127 行で定義されています。
参照先 osl::BLACK.
参照元 osl::ntesuki::NtesukiTable::findWithMove(), と osl::ntesuki::NtesukiTable::findWithMoveConst().
osl::PieceStand osl::ntesuki::NtesukiRecord::calcProofPiecesOr | ( | int | pass_left, | |
const NtesukiMove & | m | |||
) | [inline] |
.
ntesukiRecord.tcc の 436 行で定義されています。
参照先 osl::PieceStand::add(), osl::Move::capturePtype(), osl::ntesuki::NtesukiTable::findWithMove(), osl::ntesuki::NtesukiMove::getMove(), getPDPieces(), osl::ntesuki::NtesukiMove::isDrop(), ntesuki_assert, osl::ntesuki::NtesukiMove::ptype(), osl::PTYPE_EMPTY, table, osl::PieceStand::trySub(), turn(), と osl::unpromote().
osl::PieceStand osl::ntesuki::NtesukiRecord::calcProofPiecesAnd | ( | int | pass_left | ) | [inline] |
ntesukiRecord.tcc の 460 行で定義されています。
参照先 osl::PieceStand::add(), osl::ntesuki::NtesukiTable::findWithMove(), osl::ntesuki::NtesukiMoveGenerator::generate(), osl::PieceStand::get(), getPDPieces(), osl::ntesuki::NtesukiMove::isCheck(), osl::effect_util::UnblockableCheck::isMember(), osl::ntesuki::NtesukiMove::isNoPromote(), osl::PieceStand::max(), mg, moves, ntesuki_assert, osl::PieceStand::order, state, table, と turn().
void osl::ntesuki::NtesukiRecord::setProofPieces | ( | int | pass_left, | |
const NtesukiResult & | r, | |||
const NtesukiMove & | m, | |||
const PieceStand * | ps | |||
) | [inline] |
ꤹ.
ntesukiRecord.tcc の 516 行で定義されています。
参照先 osl::ntesuki::NtesukiTable::findWithMove(), getPDPieces(), osl::ntesuki::NtesukiMove::isPass(), osl::ntesuki::NtesukiMove::isValid(), ntesuki_assert, SIZE, と table.
void osl::ntesuki::NtesukiRecord::setDisproofPieces | ( | int | pass_left, | |
const NtesukiResult & | r, | |||
const NtesukiMove & | m, | |||
const PieceStand * | ps | |||
) | [inline] |
ȿڶꤹ.
ntesukiRecord.tcc の 558 行で定義されています。
参照先 osl::PieceStand::add(), osl::Move::capturePtype(), osl::ntesuki::NtesukiTable::findWithMove(), osl::PieceStand::get(), osl::ntesuki::NtesukiMove::getMove(), getPDPieces(), osl::ntesuki::NtesukiMove::isDrop(), osl::ntesuki::NtesukiMove::isPass(), osl::ntesuki::NtesukiMove::isValid(), osl::PieceStand::max(), moves, ntesuki_assert, osl::PieceStand::order, osl::ntesuki::NtesukiMove::ptype(), osl::PTYPE_EMPTY, state, table, osl::PieceStand::trySub(), turn(), と osl::unpromote().
template void osl::ntesuki::NtesukiRecord::setResult< WHITE > | ( | int | i, | |
const NtesukiResult & | r, | |||
const NtesukiMove & | m, | |||
bool | bs, | |||
const PieceStand * | ps = NULL | |||
) | [inline] |
õη̤Ǽ
ntesukiRecord.tcc の 756 行で定義されています。
参照先 by_simulation, osl::checkmate::ProofDisproof::disproof(), osl::checkmate::ProofDisproof::isFinal(), isFinal(), osl::ntesuki::NtesukiMove::isValid(), key, ntesuki_assert, order, SIZE, value_before_final, と written_count.
参照元 osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::attackForProof(), osl::ntesuki::NtesukiSearcher::attackWithOrder(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), osl::ntesuki::NtesukiSearcher::handleTonshi(), osl::ntesuki::NtesukiSearcher::selectMoveAttack(), osl::ntesuki::NtesukiSearcher::selectMoveDefense(), osl::ntesuki::OracleProverLight::startFromAttack(), と osl::ntesuki::OracleProverLight::startFromDefense().
const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValue | ( | int | i | ) | const [inline] |
ΥΡɤ NtesukiResult ͤĴ٤
ntesukiRecord.tcc の 921 行で定義されています。
参照先 read_count.
参照元 osl::ntesuki::OracleProverLight::attack(), osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiTable::Table::collectGarbage(), osl::ntesuki::OracleProverLight::defense(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), osl::ntesuki::NtesukiSearcher::handleInterpose(), isDominatedByDisproofPieces(), isDominatedByProofPieces(), osl::ntesuki::operator<<(), osl::ntesuki::NtesukiSearcher::search(), osl::ntesuki::NtesukiSearcher::simulateSiblingsSuccess(), osl::ntesuki::OracleProverLight::startFromAttack(), osl::ntesuki::NtesukiSimulationSearcher::startFromAttackDisproof(), osl::ntesuki::OracleProverLight::startFromDefense(), osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseDisproof(), RecordPrinter2::withChildMove(), と RecordPrinter::withChildMove().
template const NtesukiResult osl::ntesuki::NtesukiRecord::getValueWithPath< WHITE > | ( | int | i, | |
const PathEncoding | path | |||
) | const [inline] |
ntesukiRecord.tcc の 930 行で定義されています。
参照先 isFinal(), osl::checkmate::ProofDisproof::LoopDetection(), と read_count.
参照元 osl::ntesuki::NtesukiSearcher::attack(), osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::attackForProof(), osl::ntesuki::NtesukiSearcher::attackWithOrder(), osl::ntesuki::NtesukiSearcher::defense(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), osl::ntesuki::NtesukiSearcher::handleInterpose(), osl::ntesuki::NtesukiSearcher::handleNonAttack(), osl::ntesuki::NtesukiSearcher::handleTonshi(), osl::ntesuki::NtesukiSearcher::selectMoveAttack(), osl::ntesuki::NtesukiSearcher::selectMoveDefense(), osl::ntesuki::NtesukiSearcher::simulateSiblingsFail(), osl::ntesuki::NtesukiSearcher::simulateSiblingsSuccess(), osl::ntesuki::NtesukiSimulationSearcher::startFromAttackProof(), と osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof().
template const NtesukiResult osl::ntesuki::NtesukiRecord::getValueOr< WHITE > | ( | int | i, | |
const PathEncoding | path, | |||
IWScheme | iwscheme | |||
) | const [inline] |
ntesukiRecord.tcc の 946 行で定義されています。
参照先 osl::checkmate::ProofDisproof::disproof(), osl::checkmate::ProofDisproof::isCheckmateFail(), isFinal(), osl::checkmate::ProofDisproof::LoopDetection(), osl::eval::min(), ntesuki_assert, pn_iw, osl::checkmate::ProofDisproof::proof(), read_count, と strict_iw.
参照元 osl::ntesuki::NtesukiSearcher::attack(), osl::ntesuki::NtesukiSearcher::defense(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), と osl::ntesuki::NtesukiSearcher::selectMoveDefense().
template const NtesukiResult osl::ntesuki::NtesukiRecord::getValueAnd< WHITE > | ( | int | i, | |
const PathEncoding | path, | |||
IWScheme | iwscheme, | |||
PSScheme | psscheme | |||
) | const [inline] |
ntesukiRecord.tcc の 990 行で定義されています。
参照先 osl::checkmate::ProofDisproof::disproof(), inversion_cost, osl::checkmate::ProofDisproof::isFinal(), isFinal(), osl::checkmate::ProofDisproof::LoopDetection(), osl::checkmate::ProofDisproof::proof(), と read_count.
参照元 osl::ntesuki::NtesukiSearcher::defense(), と osl::ntesuki::NtesukiSearcher::selectMoveAttack().
const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValueSlow | ( | const Player | attacker, | |
int | i | |||
) | const |
const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValueOfTurn | ( | int | i | ) | const |
const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::valueBeforeFinal | ( | ) | const |
int osl::ntesuki::NtesukiRecord::isWin | ( | const Player | attacker | ) | const [inline] |
ntesukiRecord.h の 203 行で定義されています。
参照先 getValueSlow(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), と SIZE.
const osl::ntesuki::NtesukiMove & osl::ntesuki::NtesukiRecord::getBestMove | ( | int | i | ) | const [inline] |
ϿƤ֤.
ntesukiRecord.tcc の 1025 行で定義されています。
参照元 osl::ntesuki::OracleProverLight::attack(), osl::ntesuki::NtesukiSearcher::attack(), osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::attackForProof(), osl::ntesuki::NtesukiSearcher::attackWithOrder(), osl::ntesuki::NtesukiSearcher::defense(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), osl::ntesuki::NtesukiSearcher::handleInterpose(), osl::ntesuki::operator<<(), osl::ntesuki::OracleProverLight::startFromAttack(), osl::ntesuki::NtesukiSimulationSearcher::startFromAttackProof(), osl::ntesuki::OracleProverLight::startFromDefense(), と osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof().
const osl::ntesuki::NtesukiMove & osl::ntesuki::NtesukiRecord::getBestMoveSlow | ( | Player | attacker, | |
int | i | |||
) | const |
bool osl::ntesuki::NtesukiRecord::isVisited | ( | ) | const [inline] |
Loop ˤʤäƤ뤫å.
ntesukiRecord.h の 226 行で定義されています。
参照先 visited.
参照元 osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::attackForProof(), osl::ntesuki::NtesukiTable::Table::collectGarbage(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), RecordPrinter2::enter(), osl::ntesuki::NtesukiSearcher::handleNonAttack(), RecordPrinter2::operator()(), RecordPrinter::operator()(), osl::ntesuki::operator<<(), osl::ntesuki::NtesukiSearcher::selectMoveAttack(), osl::ntesuki::NtesukiSearcher::selectMoveDefense(), osl::ntesuki::NtesukiSearcher::simulateSiblingsFail(), osl::ntesuki::NtesukiSearcher::simulateSiblingsSuccess(), osl::ntesuki::NtesukiRecord::UnVisitLock::UnVisitLock(), osl::ntesuki::NtesukiRecord::VisitLock::VisitLock(), RecordPrinter2::withChildMove(), RecordPrinter::withChildMove(), osl::ntesuki::NtesukiRecord::UnVisitLock::~UnVisitLock(), と osl::ntesuki::NtesukiRecord::VisitLock::~VisitLock().
bool osl::ntesuki::NtesukiRecord::isFinal | ( | ) | [inline] |
ntesukiRecord.h の 227 行で定義されています。
参照元 getValueAnd(), getValueOr(), getValueWithPath(), と setResult().
void osl::ntesuki::NtesukiRecord::setVisited | ( | ) | [inline] |
void osl::ntesuki::NtesukiRecord::resetVisited | ( | ) | [inline] |
bool osl::ntesuki::NtesukiRecord::isByFixed | ( | ) | const [inline] |
bool osl::ntesuki::NtesukiRecord::isByFixedSlow | ( | Player | attacker | ) | const |
template bool osl::ntesuki::NtesukiRecord::isNtesuki< WHITE > | ( | int | pass_left | ) | const [inline] |
template void osl::ntesuki::NtesukiRecord::setNtesuki< WHITE > | ( | int | pass_left | ) | [inline] |
template bool osl::ntesuki::NtesukiRecord::hasTriedPropagatedOracle< WHITE > | ( | int | pass_left | ) | const [inline] |
template void osl::ntesuki::NtesukiRecord::triedPropagatedOracle< WHITE > | ( | int | pass_left | ) | [inline] |
ntesukiRecord.tcc の 1058 行で定義されています。
template PieceStand osl::ntesuki::NtesukiRecord::getPDPieces< WHITE > | ( | int | pass_left | ) | const [inline] |
ntesukiRecord.tcc の 1075 行で定義されています。
参照元 calcProofPiecesAnd(), calcProofPiecesOr(), isDominatedByDisproofPieces(), isDominatedByProofPieces(), osl::ntesuki::operator<<(), setDisproofPieces(), setProofPieces(), osl::ntesuki::OracleProverLight::startFromAttack(), と osl::ntesuki::OracleProverLight::startFromDefense().
osl::PieceStand osl::ntesuki::NtesukiRecord::getPDPiecesSlow | ( | Player | attacker, | |
int | pass_left | |||
) | const |
template void osl::ntesuki::NtesukiRecord::setPDPieces< WHITE > | ( | int | pass_left, | |
const PieceStand | p | |||
) | [inline] |
ntesukiRecord.tcc の 1083 行で定義されています。
bool osl::ntesuki::NtesukiRecord::readInterpose | ( | int | pass_left | ) | const [inline] |
void osl::ntesuki::NtesukiRecord::setReadInterpose | ( | int | pass_left | ) | [inline] |
bool osl::ntesuki::NtesukiRecord::readCheckDefense | ( | int | pass_left | ) | const [inline] |
void osl::ntesuki::NtesukiRecord::setReadCheckDefense | ( | int | pass_left | ) | [inline] |
bool osl::ntesuki::NtesukiRecord::readNonAttack | ( | int | pass_left | ) | const [inline] |
void osl::ntesuki::NtesukiRecord::setReadNonAttack | ( | int | pass_left | ) | [inline] |
template bool osl::ntesuki::NtesukiRecord::useOld< WHITE > | ( | int | pass_left | ) | const [inline] |
old child ɤ٤.
ntesukiRecord.tcc の 877 行で定義されています。
参照元 osl::ntesuki::NtesukiSearcher::selectMoveAttack(), と osl::ntesuki::NtesukiSearcher::selectMoveDefense().
template void osl::ntesuki::NtesukiRecord::setUseOld< WHITE > | ( | int | pass_left, | |
bool | value | |||
) | [inline] |
template bool osl::ntesuki::NtesukiRecord::isLoopWithPath< WHITE > | ( | int | pass_left, | |
const PathEncoding & | path | |||
) | const [inline] |
path loop ˤʤ뤫
ntesukiRecord.tcc の 893 行で定義されています。
参照元 osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), と osl::ntesuki::NtesukiSearcher::selectMoveDefense().
template void osl::ntesuki::NtesukiRecord::setLoopWithPath< WHITE > | ( | int | pass_left, | |
const PathEncoding & | path | |||
) | [inline] |
ntesukiRecord.tcc の 910 行で定義されています。
参照元 osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), osl::ntesuki::NtesukiSearcher::handleNonAttack(), osl::ntesuki::NtesukiSearcher::selectMoveAttack(), と osl::ntesuki::NtesukiSearcher::selectMoveDefense().
bool osl::ntesuki::NtesukiRecord::hasLoop | ( | int | pass_left | ) | const [inline] |
ntesukiRecord.h の 327 行で定義されています。
template bool osl::ntesuki::NtesukiRecord::setUpNode< WHITE > | ( | ) | [inline] |
Fixed Depth Searcher Ƥ.
ntesukiRecord.tcc の 144 行で定義されています。
参照先 already_set_up, osl::BLACK, ntesuki_assert, state, turn(), と osl::WHITE.
参照元 osl::ntesuki::NtesukiSearcher::attack(), osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::attackForProof(), osl::ntesuki::NtesukiSearcher::defense(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), osl::ntesuki::NtesukiSimulationSearcher::startFromAttackProof(), と osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof().
void osl::ntesuki::NtesukiRecord::setUpAttackNode | ( | ) | [inline] |
ntesukiRecord.tcc の 181 行で定義されています。
参照先 best_move(), CATCH_DFPN, fixed_search_depth, osl::checkmate::FixedDepthSearcher::hasCheckmateMove(), osl::ntesuki::NtesukiMove::INVALID(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::checkmate::ProofDisproof::NoCheckmate(), osl::Move::PASS(), osl::ntesuki::NtesukiMove::setCheck(), osl::ntesuki::NtesukiMove::setImmediateCheckmate(), state, と TRY_DFPN.
void osl::ntesuki::NtesukiRecord::setUpDefenseNode | ( | ) | [inline] |
ntesukiRecord.tcc の 241 行で定義されています。
参照先 best_move(), CATCH_DFPN, fixed_search_depth, osl::checkmate::FixedDepthSearcher::hasEscapeMove(), osl::ntesuki::NtesukiMove::INVALID(), osl::Move::INVALID(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), SIZE, state, と TRY_DFPN.
void osl::ntesuki::NtesukiRecord::updateWithChild | ( | NtesukiRecord * | child, | |
int | pass_left | |||
) |
template void osl::ntesuki::NtesukiRecord::generateMoves< WHITE > | ( | NtesukiMoveList & | moves, | |
int | pass_left, | |||
bool | all_moves | |||
) | [inline] |
.
ntesukiRecord.tcc の 303 行で定義されています。
参照先 osl::checkmate::LibertyEstimator::attackH(), osl::Move::capturePtype(), osl::checkmate::LibertyEstimator::defenseH(), delay_lame_long, distance, osl::Move::from(), osl::ntesuki::NtesukiMoveGenerator::generateSlow(), osl::ntesuki::NtesukiMoveGenerator::generateWithRzoneSlow(), osl::ntesuki::getCheapestDrop(), osl::ntesuki::getSecondCheapestDrop(), osl::isMajor(), osl::Position::isOnBoard(), osl::Position::isPieceStand(), osl::KING, osl::LANCE, mg, ntesuki_assert, osl::Move::ptype(), osl::PTYPE_EMPTY, state, osl::Move::to(), osl::Position::x(), と osl::Position::y().
参照元 osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSearcher::attackWithOrder(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), と osl::ntesuki::NtesukiSearcher::defenseWithPlayer().
bool osl::ntesuki::NtesukiRecord::operator== | ( | const NtesukiRecord & | record | ) | [inline] |
unsigned int osl::ntesuki::NtesukiRecord::getChildCount | ( | ) | const [inline] |
void osl::ntesuki::NtesukiRecord::addChildCount | ( | unsigned int | i | ) | [inline] |
ntesukiRecord.h の 371 行で定義されています。
参照先 child_count.
参照元 osl::ntesuki::NtesukiTable::Table::collectGarbage(), と CountChildLock::~CountChildLock().
unsigned int osl::ntesuki::NtesukiRecord::getReadCount | ( | ) | const [inline] |
unsigned int osl::ntesuki::NtesukiRecord::getWrittenCount | ( | ) | const [inline] |
bool osl::ntesuki::NtesukiRecord::isNewParent | ( | const NtesukiRecord * | p | ) | const [inline, private] |
void osl::ntesuki::NtesukiRecord::find_split | ( | NtesukiRecord * | rhs, | |
RecordPList & | lvisited, | |||
RecordPList & | rvisited | |||
) | [inline, private] |
ntesukiRecord.h の 398 行で定義されています。
参照先 osl::find(), find_split_right(), と parents.
参照元 checkNewParent().
bool osl::ntesuki::NtesukiRecord::find_split_right | ( | NtesukiRecord * | rhs, | |
RecordPList & | lvisited, | |||
RecordPList & | rvisited | |||
) | [inline, private] |
ntesukiRecord.h の 438 行で定義されています。
参照先 osl::find(), is_split, parents, と split_count.
参照元 find_split().
void osl::ntesuki::NtesukiRecord::addNewParent | ( | NtesukiRecord * | p | ) | [inline, private] |
ntesukiRecord.h の 485 行で定義されています。
参照先 isNewParent(), ntesuki_assert, parents, と rev_refcount.
参照元 checkNewParent().
void osl::ntesuki::NtesukiRecord::checkNewParent | ( | NtesukiRecord * | p | ) | [inline] |
bool& osl::ntesuki::NtesukiRecord::by_fixed | ( | ) | [inline, private] |
const bool& osl::ntesuki::NtesukiRecord::by_fixed | ( | ) | const [inline, private] |
PieceStand& osl::ntesuki::NtesukiRecord::piece_stand | ( | ) | [inline, private] |
const PieceStand& osl::ntesuki::NtesukiRecord::piece_stand | ( | ) | const [inline, private] |
values_t& osl::ntesuki::NtesukiRecord::values | ( | ) | [inline, private] |
const values_t& osl::ntesuki::NtesukiRecord::values | ( | ) | const [inline, private] |
moves_t& osl::ntesuki::NtesukiRecord::best_move | ( | ) | [inline, private] |
ntesukiRecord.h の 610 行で定義されています。
参照先 best_move_black, best_move_white, と osl::BLACK.
参照元 lookup_same_board_list(), setUpAttackNode(), と setUpDefenseNode().
const moves_t& osl::ntesuki::NtesukiRecord::best_move | ( | ) | const [inline, private] |
pdpieces_t& osl::ntesuki::NtesukiRecord::pdpieces | ( | ) | [inline, private] |
const pdpieces_t& osl::ntesuki::NtesukiRecord::pdpieces | ( | ) | const [inline, private] |
flags_t& osl::ntesuki::NtesukiRecord::is_ntesuki | ( | ) | [inline, private] |
const flags_t& osl::ntesuki::NtesukiRecord::is_ntesuki | ( | ) | const [inline, private] |
flags_t& osl::ntesuki::NtesukiRecord::propagated_oracle | ( | ) | [inline, private] |
ntesukiRecord.h の 658 行で定義されています。
参照先 osl::BLACK, propagated_oracle_black, と propagated_oracle_white.
const flags_t osl::ntesuki::NtesukiRecord::propagated_oracle | ( | ) | const [inline, private] |
ntesukiRecord.h の 666 行で定義されています。
参照先 osl::BLACK, propagated_oracle_black, と propagated_oracle_white.
flags_t& osl::ntesuki::NtesukiRecord::use_old | ( | ) | [inline, private] |
const flags_t osl::ntesuki::NtesukiRecord::use_old | ( | ) | const [inline, private] |
pell_t& osl::ntesuki::NtesukiRecord::loop_path_list | ( | ) | [inline, private] |
const pell_t& osl::ntesuki::NtesukiRecord::loop_path_list | ( | ) | const [inline, private] |
rzones_t& osl::ntesuki::NtesukiRecord::rzone | ( | ) | [inline] |
ntesukiRecord.h の 707 行で定義されています。
参照先 osl::BLACK, rzone_black, と rzone_white.
参照元 osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), と updateWithChild().
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.cc の 101 行で定義されています。
参照先 best_move(), osl::BLACK, CATCH_DFPN, same_board_list, SIZE, TRY_DFPN, と osl::WHITE.
参照元 NtesukiRecord().
void osl::ntesuki::NtesukiRecord::propagate_proof | ( | int | pass_left | ) | [inline, private] |
ntesukiRecord.tcc の 17 行で定義されています。
参照先 CATCH_DFPN, osl::checkmate::ProofDisproof::LoopDetection(), ntesuki_assert, same_board_list, と TRY_DFPN.
void osl::ntesuki::NtesukiRecord::propagate_disproof | ( | int | pass_left | ) | [inline, private] |
ntesukiRecord.tcc の 56 行で定義されています。
参照先 CATCH_DFPN, osl::checkmate::ProofDisproof::LoopDetection(), ntesuki_assert, same_board_list, と TRY_DFPN.
bool osl::ntesuki::NtesukiRecord::isDominatedByProofPieces | ( | const NtesukiRecord * | record, | |
int | pass_left | |||
) | const [inline] |
bool osl::ntesuki::NtesukiRecord::isDominatedByDisproofPieces | ( | const NtesukiRecord * | record, | |
int | pass_left | |||
) | const [inline] |
bool osl::ntesuki::NtesukiRecord::isBetterFor | ( | NtesukiRecord * | record | ) | [inline] |
const unsigned int osl::ntesuki::NtesukiRecord::SIZE = 2 [static] |
Υ.
SIZE - 1 ꤹޤĴ٤.
ntesukiRecord.h の 40 行で定義されています。
参照元 isWin(), lookup_same_board_list(), osl::ntesuki::NtesukiSearcher::NtesukiSearcher(), osl::ntesuki::operator<<(), setFinal(), setProofPieces(), setResult(), setUpDefenseNode(), と updateWithChild().
unsigned int osl::ntesuki::NtesukiRecord::fixed_search_depth = 0 [static] |
õطοʾ.
ntesukiRecord.h の 56 行で定義されています。
参照元 osl::ntesuki::NtesukiSearcher::NtesukiSearcher(), setUpAttackNode(), と setUpDefenseNode().
unsigned int osl::ntesuki::NtesukiRecord::inversion_cost = 0 [static] |
ntesukiRecord.h の 57 行で定義されています。
参照元 getValueAnd(), と osl::ntesuki::NtesukiSearcher::NtesukiSearcher().
bool osl::ntesuki::NtesukiRecord::use_dominance = false [static] |
ntesukiRecord.h の 58 行で定義されています。
参照元 NtesukiRecord(), osl::ntesuki::NtesukiSearcher::NtesukiSearcher(), と setFinal().
int osl::ntesuki::NtesukiRecord::pass_count = 0 [static] |
bool osl::ntesuki::NtesukiRecord::max_for_split = false [static] |
bool osl::ntesuki::NtesukiRecord::use_rzone_move_generation = false [static] |
ntesukiRecord.h の 61 行で定義されています。
bool osl::ntesuki::NtesukiRecord::delay_lame_long = false [static] |
bool osl::ntesuki::NtesukiRecord::use_9rzone = false [static] |
osl::NumEffectState * osl::ntesuki::NtesukiRecord::state = NULL [static] |
osl::ntesuki::NtesukiMoveGenerator * osl::ntesuki::NtesukiRecord::mg = NULL [static] |
ntesukiRecord.h の 66 行で定義されています。
参照元 calcProofPiecesAnd(), generateMoves(), と osl::ntesuki::NtesukiSearcher::NtesukiSearcher().
osl::ntesuki::NtesukiTable * osl::ntesuki::NtesukiRecord::table = NULL [static] |
unsigned int osl::ntesuki::NtesukiRecord::split_count = 0 [static] |
ʬήĤ뤫.
ntesukiRecord.h の 70 行で定義されています。
参照元 find_split_right(), osl::ntesuki::NtesukiSearcher::NtesukiSearcher(), と osl::ntesuki::NtesukiSearcher::~NtesukiSearcher().
unsigned int osl::ntesuki::NtesukiRecord::confluence_count = 0 [static] |
ntesukiRecord.h の 75 行で定義されています。
参照元 osl::ntesuki::NtesukiTable::allocateWithMove(), osl::ntesuki::operator<<(), と piece_stand().
unsigned short osl::ntesuki::NtesukiRecord::distance |
root κû path εΥ
ntesukiRecord.h の 81 行で定義されています。
参照元 osl::ntesuki::NtesukiTable::allocateWithMove(), generateMoves(), osl::ntesuki::NtesukiSearcher::handleTonshi(), osl::ntesuki::operator<<(), osl::ntesuki::NtesukiSearcher::selectMoveAttack(), osl::ntesuki::NtesukiSearcher::selectMoveDefense(), と osl::ntesuki::NtesukiTable::~NtesukiTable().
HashKey osl::ntesuki::NtesukiRecord::key |
̤ HashKey
ntesukiRecord.h の 84 行で定義されています。
参照元 osl::ntesuki::NtesukiTable::allocateWithMove(), osl::ntesuki::NtesukiTable::Table::collectGarbage(), MarkAndSweep::enter(), RecordPrinter2::enter(), RecordPrinter::enter(), osl::ntesuki::NtesukiTable::findWithMove(), osl::ntesuki::NtesukiTable::findWithMoveConst(), osl::ntesuki::NtesukiTable::Table::forEachRecordFrom(), isBetterFor(), RecordPrinter2::operator()(), RecordPrinter::operator()(), osl::ntesuki::operator<<(), operator==(), setResult(), turn(), MarkAndSweep::withChildMove(), RecordPrinter2::withChildMove(), RecordPrinter::withChildMove(), と MarkAndSweep::~MarkAndSweep().
̡֤Ʊǡ㤦̤Υꥹ
ntesukiRecord.h の 87 行で定義されています。
参照元 lookup_same_board_list(), propagate_disproof(), と propagate_proof().
ƶ̤Υꥹ
ntesukiRecord.h の 90 行で定義されています。
参照元 addNewParent(), checkNewParent(), osl::ntesuki::NtesukiTable::Table::collectGarbage(), find_split(), find_split_right(), と isNewParent().
ntesukiRecord.h の 91 行で定義されています。
参照元 addNewParent(), と osl::ntesuki::NtesukiTable::Table::collectGarbage().
unsigned int osl::ntesuki::NtesukiRecord::child_count [mutable, private] |
unsigned int osl::ntesuki::NtesukiRecord::read_count [mutable, private] |
ntesukiRecord.h の 529 行で定義されています。
参照元 getReadCount(), getValue(), getValueAnd(), getValueOr(), と getValueWithPath().
unsigned int osl::ntesuki::NtesukiRecord::written_count [mutable, private] |
bool osl::ntesuki::NtesukiRecord::visited [private] |
setResult final ͤꤵľ result
ntesukiRecord.h の 533 行で定義されています。
参照元 isVisited(), resetVisited(), と setVisited().
bool osl::ntesuki::NtesukiRecord::by_simulation [private] |
bool osl::ntesuki::NtesukiRecord::by_fixed_black [private] |
bool osl::ntesuki::NtesukiRecord::by_fixed_white [private] |
bool osl::ntesuki::NtesukiRecord::already_set_up [private] |
bool osl::ntesuki::NtesukiRecord::final [private] |
ntesukiRecord.h の 537 行で定義されています。