osl::ntesuki::NtesukiRecord Class Reference

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
osl::ntesuki::NtesukiRecord Class Reference

ある局面について，その局面を n手すきで探索した場合の 結果を保持しておくクラス. More...

`#include <ntesukiRecord.h>`

Collaboration diagram for osl::ntesuki::NtesukiRecord:
[legend]

## Classes
class | UnVisitLock
class | VisitLock

## Public Types
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 Member Functions
| NtesukiRecord (signed short distance, const HashKey &key, const PieceStand &white_stand, RecordList *same_board_list)
| コンストラクタ. More...
| ~NtesukiRecord ()
Player | turn () const
| 手番 More...
bool | isBySimulation () const
| simulation によって値が決まったか More...
template<Player P>
const PieceStand & | getPieceStand () const
| この局面でのプレイヤの持駒. More...
const PieceStand & | getPieceStandSlow (Player P) const
template<Player A>
PieceStand | calcProofPiecesOr (int pass_left, const NtesukiMove &m)
| 証明駒を計算する. More...
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)
| 証明駒を設定する. More...
template<osl::Player A>
void | setDisproofPieces (int pass_left, const NtesukiResult &r, const NtesukiMove &m, const PieceStand *ps)
| 反証駒を設定する. More...
template<Player A>
void | setResult (int i, const NtesukiResult &r, const NtesukiMove &m, bool bs, const PieceStand *ps=NULL)
| 探索の結果を格納する More...
template<Player A>
const NtesukiResult | getValue (int i) const
| このノードの NtesukiResult の値を調べる More...
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
| 登録されてる最善手を返す. More...
const NtesukiMove & | getBestMoveSlow (Player attacker, int i) const
bool | isVisited () const
| Loop になっているかチェック. More...
bool | isFinal ()
void | setVisited ()
void | resetVisited ()
template<Player A>
bool | isByFixed () const
| Fixed Depth Searcher によって値が設定されたか. More...
bool | isByFixedSlow (Player attacker) const
template<Player A>
bool | isNtesuki (int pass_left) const
| このノードが n手すきになっているか. More...
template<Player A>
void | setNtesuki (int pass_left)
template<Player A>
bool | hasTriedPropagatedOracle (int pass_left) const
| このノードで親から来た oracle を試したか More...
template<Player A>
void | triedPropagatedOracle (int pass_left)
template<Player A>
PieceStand | getPDPieces (int pass_left) const
| 証明駒を得る More...
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
| 無駄合いを読むべきか. More...
void | setReadInterpose (int pass_left)
bool | readCheckDefense (int pass_left) const
| defense の際に王手を読むべきか. More...
void | setReadCheckDefense (int pass_left)
bool | readNonAttack (int pass_left) const
| attack の際に，ヒューリスティックに判別された攻撃手以外も読むか. More...
void | setReadNonAttack (int pass_left)
template<Player A>
bool | useOld (int pass_left) const
| old child を読むべきか. More...
template<Player A>
void | setUseOld (int pass_left, bool value)
template<Player A>
bool | isLoopWithPath (int pass_left, const PathEncoding &path) const
| この path で loop になるか． More...
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 を呼ぶ等. More...
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)
| 手の生成. More...
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)
template<osl::Player P>
osl::PieceStand | calcProofPiecesOr (int pass_left, const osl::ntesuki::NtesukiMove &move)
template<osl::Player P>
osl::PieceStand | calcProofPiecesAnd (int pass_left)
template<osl::Player P>
const osl::ntesuki::NtesukiResult | getValue (int i) const
template<osl::Player P>
const osl::ntesuki::NtesukiResult | getValueWithPath (int i, const PathEncoding path) const
template<osl::Player P>
const osl::ntesuki::NtesukiResult | getValueOr (int max_pass_left, const PathEncoding path, IWScheme iwscheme) const
template<osl::Player P>
const osl::ntesuki::NtesukiResult | getValueAnd (int max_pass_left, const PathEncoding path, IWScheme iwscheme, PSScheme psscheme) const
template<osl::Player P>
const osl::ntesuki::NtesukiMove & | getBestMove (int i) const
template<osl::Player P>
osl::PieceStand | getPDPieces (int pass_left) const

## Public Attributes
PieceStand | black_stand
| 各プレイヤの持駒 More...
PieceStand | white_stand
unsigned short | distance
| root からの最短 path の距離 More...
HashKey | key
| 局面の HashKey More...
RecordList * | same_board_list
| 盤面・手番が同じで，持駒だけ違う局面のリスト More...
RecordPList | parents
| 親局面のリスト More...
int | rev_refcount
bool | is_split
bool | do_oracle_attack
| DAG の分流点 More...
bool | do_oracle_aunt
bool | rzone_move_generation

## Static Public Attributes
static const unsigned int | SIZE = 2
| 各配列のサイズ. More...
static unsigned int | fixed_search_depth = 0
| 探索関係の色々な情報. More...
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
| 分流点がいくつあるか. More...
static unsigned int | confluence_count = 0
| 合流点がいくつあるか. More...

## Private Types
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 Member Functions
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 の伝播用. More...
template<Player P>
void | propagate_proof (int pass_left)
template<Player P>
void | propagate_disproof (int pass_left)

## Private Attributes
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 More...
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 More...
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

## Detailed Description

ある局面について，その局面を n手すきで探索した場合の 結果を保持しておくクラス.

Definition at line 32 of file ntesukiRecord.h.

## Member Typedef Documentation

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

Definition at line 521 of file ntesukiRecord.h.

typedef CArray<NtesukiMove, SIZE> osl::ntesuki::NtesukiRecord::moves_t
| private

Definition at line 518 of file ntesukiRecord.h.

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

Definition at line 519 of file ntesukiRecord.h.

typedef CArray<PieceStand, SIZE> osl::ntesuki::NtesukiRecord::pdpieces_t
| private

Definition at line 520 of file ntesukiRecord.h.

typedef CArray<PathEncodingList, SIZE> osl::ntesuki::NtesukiRecord::pell_t
| private

Definition at line 522 of file ntesukiRecord.h.

typedef slist<NtesukiRecord> osl::ntesuki::NtesukiRecord::RecordList

Definition at line 35 of file ntesukiRecord.h.

typedef slist<NtesukiRecord*> osl::ntesuki::NtesukiRecord::RecordPList

Definition at line 36 of file ntesukiRecord.h.

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

Definition at line 523 of file ntesukiRecord.h.

typedef CArray<NtesukiResult, SIZE> osl::ntesuki::NtesukiRecord::values_t
| private

Definition at line 517 of file ntesukiRecord.h.

## Member Enumeration Documentation

enum osl::ntesuki::NtesukiRecord::ISScheme

Enumerator
no_is |
tonshi_is |
delay_is |
normal_is |

Definition at line 48 of file ntesukiRecord.h.

enum osl::ntesuki::NtesukiRecord::IWScheme

Enumerator
no_iw |
strict_iw |
pn_iw |

Definition at line 41 of file ntesukiRecord.h.

enum osl::ntesuki::NtesukiRecord::PSScheme

Enumerator
no_ps |
pn_ps |

Definition at line 45 of file ntesukiRecord.h.

## Constructor & Destructor Documentation

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

コンストラクタ.

Definition at line 50 of file ntesukiRecord.cc.

References is_ntesuki_black, is_ntesuki_white, lookup_same_board_list(), propagated_oracle_black, propagated_oracle_white, read_check_defense, read_interpose, read_non_attack, use_dominance, use_old_black, use_old_white, values_black, and values_white.

osl::ntesuki::NtesukiRecord::~NtesukiRecord | ( | ) |  |
| inline

Definition at line 100 of file ntesukiRecord.h.

osl::ntesuki::NtesukiRecord::NtesukiRecord | ( | ) |  |
| private

## Member Function Documentation

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

Definition at line 371 of file ntesukiRecord.h.

References child_count.

Referenced by osl::ntesuki::NtesukiTable::Table::collectGarbage().

void osl::ntesuki::NtesukiRecord::addNewParent | ( | NtesukiRecord * | p) |  |
| inlineprivate

Definition at line 485 of file ntesukiRecord.h.

References isNewParent(), ntesuki_assert, parents, and rev_refcount.

Referenced by checkNewParent().

template<Player P>

moves_t& osl::ntesuki::NtesukiRecord::best_move | ( | ) |  |
| inlineprivate

Definition at line 610 of file ntesukiRecord.h.

References best_move_black, best_move_white, and osl::BLACK.

template<Player P>

const moves_t& osl::ntesuki::NtesukiRecord::best_move | ( | ) |  | const
| inlineprivate

Definition at line 618 of file ntesukiRecord.h.

References best_move_black, best_move_white, and osl::BLACK.

template<Player P>

bool& osl::ntesuki::NtesukiRecord::by_fixed | ( | ) |  |
| inlineprivate

Definition at line 562 of file ntesukiRecord.h.

References osl::BLACK, by_fixed_black, and by_fixed_white.

template<Player P>

const bool& osl::ntesuki::NtesukiRecord::by_fixed | ( | ) |  | const
| inlineprivate

Definition at line 570 of file ntesukiRecord.h.

References osl::BLACK, by_fixed_black, and by_fixed_white.

template<Player A>

PieceStand osl::ntesuki::NtesukiRecord::calcProofPiecesAnd | ( | int | pass_left) |  |

template<osl::Player P>

osl::PieceStand osl::ntesuki::NtesukiRecord::calcProofPiecesAnd | ( | int | pass_left) |  |

Definition at line 460 of file ntesukiRecord.tcc.

References osl::PieceStand::add(), osl::PieceStand::get(), getPDPieces(), getValue(), osl::ntesuki::NtesukiMove::isCheck(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::effect_util::UnblockableCheck::isMember(), osl::ntesuki::NtesukiMove::isNoPromote(), osl::PieceStand::max(), moves, ntesuki_assert, and osl::PieceStand::order.

template<Player A>

PieceStand osl::ntesuki::NtesukiRecord::calcProofPiecesOr | ( | int | pass_left,
|  | const NtesukiMove & | m
| ) |  |

証明駒を計算する.

- A 攻撃側のプレイヤ

template<osl::Player P>

osl::PieceStand osl::ntesuki::NtesukiRecord::calcProofPiecesOr | ( | int | pass_left,
|  | const osl::ntesuki::NtesukiMove & | move
| ) |  |

Definition at line 436 of file ntesukiRecord.tcc.

References osl::PieceStand::add(), osl::Move::capturePtype(), osl::ntesuki::NtesukiMove::getMove(), getPDPieces(), osl::ntesuki::NtesukiMove::isDrop(), ntesuki_assert, osl::ntesuki::NtesukiMove::ptype(), osl::PTYPE_EMPTY, osl::PieceStand::trySub(), and osl::unpromote().

void osl::ntesuki::NtesukiRecord::checkNewParent | ( | NtesukiRecord * | p) |  |
| inline

Definition at line 493 of file ntesukiRecord.h.

References addNewParent(), confluence_count, find_split(), isNewParent(), max_for_split, and parents.

Referenced by osl::ntesuki::NtesukiTable::allocateWithMove(), and osl::ntesuki::NtesukiTable::findWithMove().

void osl::ntesuki::NtesukiRecord::find_split | ( | NtesukiRecord * | rhs,
|  | RecordPList & | lvisited,
|  | RecordPList & | rvisited
| ) |  |
| inlineprivate

Definition at line 398 of file ntesukiRecord.h.

References osl::find(), find_split_right(), and parents.

Referenced by checkNewParent().

bool osl::ntesuki::NtesukiRecord::find_split_right | ( | NtesukiRecord * | rhs,
|  | RecordPList & | lvisited,
|  | RecordPList & | rvisited
| ) |  |
| inlineprivate

Definition at line 438 of file ntesukiRecord.h.

References osl::find(), is_split, parents, result, and split_count.

Referenced by find_split().

template<osl::Player P>

template void osl::ntesuki::NtesukiRecord::generateMoves< WHITE > | ( | NtesukiMoveList & | moves,
|  | int | pass_left,
|  | bool | all_moves
| ) |  |

手の生成.

Definition at line 303 of file ntesukiRecord.tcc.

References osl::checkmate::LibertyEstimator::attackH(), osl::Move::capturePtype(), osl::checkmate::LibertyEstimator::defenseH(), osl::Move::from(), osl::ntesuki::getCheapestDrop(), osl::ntesuki::getSecondCheapestDrop(), osl::isMajor(), osl::Square::isOnBoard(), osl::Square::isPieceStand(), osl::KING, osl::LANCE, ntesuki_assert, osl::Move::ptype(), osl::PTYPE_EMPTY, osl::Move::to(), osl::Square::x(), and osl::Square::y().

Referenced by osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSearcher::attackWithOrder(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), and osl::ntesuki::NtesukiSearcher::defenseWithPlayer().

template<Player A>

const NtesukiMove& osl::ntesuki::NtesukiRecord::getBestMove | ( | int | i) |  | const

登録されてる最善手を返す.

Referenced by 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(), and osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof().

template<osl::Player P>

const osl::ntesuki::NtesukiMove& osl::ntesuki::NtesukiRecord::getBestMove | ( | int | i) |  | const

Definition at line 1029 of file ntesukiRecord.tcc.

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

Definition at line 184 of file ntesukiRecord.cc.

References osl::BLACK.

unsigned int osl::ntesuki::NtesukiRecord::getChildCount | ( | ) |  | const
| inline

Definition at line 366 of file ntesukiRecord.h.

References child_count.

Referenced by osl::ntesuki::NtesukiTable::Table::collectGarbage(), CompareChildSize::operator()(), RecordPrinter::operator()(), RecordPrinter2::operator()(), osl::ntesuki::operator<<(), RecordPrinter::withChildMove(), and RecordPrinter2::withChildMove().

template<Player A>

template PieceStand osl::ntesuki::NtesukiRecord::getPDPieces< WHITE > | ( | int | pass_left) |  | const

証明駒を得る

Referenced by calcProofPiecesAnd(), calcProofPiecesOr(), isDominatedByDisproofPieces(), isDominatedByProofPieces(), osl::ntesuki::operator<<(), setDisproofPieces(), setProofPieces(), osl::ntesuki::OracleProverLight::startFromAttack(), and osl::ntesuki::OracleProverLight::startFromDefense().

template<osl::Player P>

osl::PieceStand osl::ntesuki::NtesukiRecord::getPDPieces | ( | int | pass_left) |  | const

Definition at line 1079 of file ntesukiRecord.tcc.

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

Definition at line 204 of file ntesukiRecord.cc.

References osl::BLACK.

template<Player P>

const PieceStand& osl::ntesuki::NtesukiRecord::getPieceStand | ( | ) |  | const
| inline

この局面でのプレイヤの持駒.

- P プレイヤ

Definition at line 121 of file ntesukiRecord.h.

Referenced by osl::ntesuki::OracleProverLight::startFromAttack(), and osl::ntesuki::OracleProverLight::startFromDefense().

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

Definition at line 127 of file ntesukiRecord.h.

References osl::BLACK.

Referenced by osl::ntesuki::NtesukiTable::findWithMove(), and osl::ntesuki::NtesukiTable::findWithMoveConst().

unsigned int osl::ntesuki::NtesukiRecord::getReadCount | ( | ) |  | const
| inline

Definition at line 376 of file ntesukiRecord.h.

References read_count.

template<Player A>

const NtesukiResult osl::ntesuki::NtesukiRecord::getValue | ( | int | i) |  | const

このノードの NtesukiResult の値を調べる

- A 攻撃側のプレイヤ

Referenced by osl::ntesuki::OracleProverLight::attack(), osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), calcProofPiecesAnd(), 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(), RecordPrinter::withChildMove(), and RecordPrinter2::withChildMove().

template<osl::Player P>

const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValue | ( | int | i) |  | const

Definition at line 925 of file ntesukiRecord.tcc.

template<Player A>

template const NtesukiResult osl::ntesuki::NtesukiRecord::getValueAnd< WHITE > | ( | int | i,
|  | const PathEncoding | path,
|  | IWScheme | iwscheme,
|  | PSScheme | psscheme
| ) |  | const

Referenced by osl::ntesuki::NtesukiSearcher::defense(), and osl::ntesuki::NtesukiSearcher::selectMoveAttack().

template<osl::Player P>

const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValueAnd | ( | int | max_pass_left,
|  | const PathEncoding | path,
|  | IWScheme | iwscheme,
|  | PSScheme | psscheme
| ) |  | const

Definition at line 994 of file ntesukiRecord.tcc.

References osl::checkmate::ProofDisproof::disproof(), osl::checkmate::ProofDisproof::isFinal(), osl::checkmate::ProofDisproof::LoopDetection(), and osl::checkmate::ProofDisproof::proof().

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

Definition at line 170 of file ntesukiRecord.cc.

template<Player A>

template const NtesukiResult osl::ntesuki::NtesukiRecord::getValueOr< WHITE > | ( | int | i,
|  | const PathEncoding | path,
|  | IWScheme | iwscheme
| ) |  | const

Referenced by osl::ntesuki::NtesukiSearcher::attack(), osl::ntesuki::NtesukiSearcher::defense(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), and osl::ntesuki::NtesukiSearcher::selectMoveDefense().

template<osl::Player P>

const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValueOr | ( | int | max_pass_left,
|  | const PathEncoding | path,
|  | IWScheme | iwscheme
| ) |  | const

Definition at line 950 of file ntesukiRecord.tcc.

References osl::checkmate::ProofDisproof::disproof(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::LoopDetection(), osl::eval::min(), ntesuki_assert, osl::checkmate::ProofDisproof::proof(), and result.

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

Definition at line 160 of file ntesukiRecord.cc.

References osl::BLACK.

Referenced by isWin().

template<Player A>

template const NtesukiResult osl::ntesuki::NtesukiRecord::getValueWithPath< WHITE > | ( | int | i,
|  | const PathEncoding | path
| ) |  | const

Referenced by 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(), and osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof().

template<osl::Player P>

const osl::ntesuki::NtesukiResult osl::ntesuki::NtesukiRecord::getValueWithPath | ( | int | i,
|  | const PathEncoding | path
| ) |  | const

Definition at line 934 of file ntesukiRecord.tcc.

References osl::checkmate::ProofDisproof::LoopDetection().

unsigned int osl::ntesuki::NtesukiRecord::getWrittenCount | ( | ) |  | const
| inline

Definition at line 381 of file ntesukiRecord.h.

References written_count.

template<Player A>

bool osl::ntesuki::NtesukiRecord::hasLoop | ( | int | pass_left) |  | const
| inline

Definition at line 327 of file ntesukiRecord.h.

template<osl::Player P>

template bool osl::ntesuki::NtesukiRecord::hasTriedPropagatedOracle< WHITE > | ( | int | pass_left) |  | const

このノードで親から来た oracle を試したか

Definition at line 1054 of file ntesukiRecord.tcc.

template<Player P>

flags_t& osl::ntesuki::NtesukiRecord::is_ntesuki | ( | ) |  |
| inlineprivate

Definition at line 642 of file ntesukiRecord.h.

References osl::BLACK, is_ntesuki_black, and is_ntesuki_white.

template<Player P>

const flags_t& osl::ntesuki::NtesukiRecord::is_ntesuki | ( | ) |  | const
| inlineprivate

Definition at line 650 of file ntesukiRecord.h.

References osl::BLACK, is_ntesuki_black, and is_ntesuki_white.

template<osl::Player P>

bool osl::ntesuki::NtesukiRecord::isBetterFor | ( | NtesukiRecord * | record) |  |

Definition at line 867 of file ntesukiRecord.tcc.

References osl::PieceStand::hasMoreThan(), and key.

template<osl::Player P>

bool osl::ntesuki::NtesukiRecord::isByFixed | ( | ) |  | const

Fixed Depth Searcher によって値が設定されたか.

Definition at line 1071 of file ntesukiRecord.tcc.

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

Definition at line 194 of file ntesukiRecord.cc.

References osl::BLACK.

bool osl::ntesuki::NtesukiRecord::isBySimulation | ( | ) |  | const
| inline

simulation によって値が決まったか

Definition at line 111 of file ntesukiRecord.h.

References by_simulation.

template<osl::Player P>

bool osl::ntesuki::NtesukiRecord::isDominatedByDisproofPieces | ( | const NtesukiRecord * | record,
|  | int | pass_left
| ) |  | const

Definition at line 850 of file ntesukiRecord.tcc.

References getPDPieces(), getValue(), osl::checkmate::ProofDisproof::isCheckmateFail(), and osl::PieceStand::isSuperiorOrEqualTo().

template<osl::Player P>

bool osl::ntesuki::NtesukiRecord::isDominatedByProofPieces | ( | const NtesukiRecord * | record,
|  | int | pass_left
| ) |  | const

Definition at line 834 of file ntesukiRecord.tcc.

References getPDPieces(), getValue(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), and osl::PieceStand::isSuperiorOrEqualTo().

Referenced by osl::ntesuki::NtesukiSimulationSearcher::startFromAttackProof(), and osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof().

bool osl::ntesuki::NtesukiRecord::isFinal | ( | ) |  |
| inline

Definition at line 227 of file ntesukiRecord.h.

template<osl::Player P>

template bool osl::ntesuki::NtesukiRecord::isLoopWithPath< WHITE > | ( | int | pass_left,
|  | const PathEncoding & | path
| ) |  | const

この path で loop になるか．

Definition at line 897 of file ntesukiRecord.tcc.

Referenced by osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), and osl::ntesuki::NtesukiSearcher::selectMoveDefense().

bool osl::ntesuki::NtesukiRecord::isNewParent | ( | const NtesukiRecord * | p) |  | const
| inlineprivate

Definition at line 388 of file ntesukiRecord.h.

References parents.

Referenced by addNewParent(), and checkNewParent().

template<osl::Player P>

template bool osl::ntesuki::NtesukiRecord::isNtesuki< WHITE > | ( | int | pass_left) |  | const

このノードが n手すきになっているか.

Definition at line 1037 of file ntesukiRecord.tcc.

bool osl::ntesuki::NtesukiRecord::isVisited | ( | ) |  | const
| inline

Loop になっているかチェック.

Definition at line 226 of file ntesukiRecord.h.

References visited.

Referenced by 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(), RecordPrinter::operator()(), RecordPrinter2::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(), RecordPrinter::withChildMove(), RecordPrinter2::withChildMove(), osl::ntesuki::NtesukiRecord::UnVisitLock::~UnVisitLock(), and osl::ntesuki::NtesukiRecord::VisitLock::~VisitLock().

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

Definition at line 203 of file ntesukiRecord.h.

References getValueSlow(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), and SIZE.

void osl::ntesuki::NtesukiRecord::lookup_same_board_list | ( | ) |  |
| private

Dominace の伝播用.

Definition at line 101 of file ntesukiRecord.cc.

References osl::BLACK, CATCH_DFPN, TRY_DFPN, and osl::WHITE.

Referenced by NtesukiRecord().

template<Player P>

pell_t& osl::ntesuki::NtesukiRecord::loop_path_list | ( | ) |  |
| inlineprivate

Definition at line 690 of file ntesukiRecord.h.

References osl::BLACK, loop_path_list_black, and loop_path_list_white.

template<Player P>

const pell_t& osl::ntesuki::NtesukiRecord::loop_path_list | ( | ) |  | const
| inlineprivate

Definition at line 698 of file ntesukiRecord.h.

References osl::BLACK, loop_path_list_black, and loop_path_list_white.

bool osl::ntesuki::NtesukiRecord::operator== | ( | const NtesukiRecord & | record) |  |
| inline

Definition at line 360 of file ntesukiRecord.h.

References key.

template<Player P>

pdpieces_t& osl::ntesuki::NtesukiRecord::pdpieces | ( | ) |  |
| inlineprivate

Definition at line 626 of file ntesukiRecord.h.

References osl::BLACK, pd_pieces_black, and pd_pieces_white.

template<Player P>

const pdpieces_t& osl::ntesuki::NtesukiRecord::pdpieces | ( | ) |  | const
| inlineprivate

Definition at line 634 of file ntesukiRecord.h.

References osl::BLACK, pd_pieces_black, and pd_pieces_white.

template<Player P>

PieceStand& osl::ntesuki::NtesukiRecord::piece_stand | ( | ) |  |
| inlineprivate

Definition at line 578 of file ntesukiRecord.h.

References osl::BLACK, black_stand, and white_stand.

template<Player P>

const PieceStand& osl::ntesuki::NtesukiRecord::piece_stand | ( | ) |  | const
| inlineprivate

Definition at line 586 of file ntesukiRecord.h.

References osl::BLACK, black_stand, and white_stand.

template<osl::Player P>

void osl::ntesuki::NtesukiRecord::propagate_disproof | ( | int | pass_left) |  |
| private

Definition at line 56 of file ntesukiRecord.tcc.

References CATCH_DFPN, osl::checkmate::ProofDisproof::LoopDetection(), ntesuki_assert, and TRY_DFPN.

template<osl::Player P>

void osl::ntesuki::NtesukiRecord::propagate_proof | ( | int | pass_left) |  |
| private

Definition at line 17 of file ntesukiRecord.tcc.

References CATCH_DFPN, osl::checkmate::ProofDisproof::LoopDetection(), ntesuki_assert, same_board_list, and TRY_DFPN.

template<Player P>

flags_t& osl::ntesuki::NtesukiRecord::propagated_oracle | ( | ) |  |
| inlineprivate

Definition at line 658 of file ntesukiRecord.h.

References osl::BLACK, propagated_oracle_black, and propagated_oracle_white.

template<Player P>

const flags_t osl::ntesuki::NtesukiRecord::propagated_oracle | ( | ) |  | const
| inlineprivate

Definition at line 666 of file ntesukiRecord.h.

References osl::BLACK, propagated_oracle_black, and propagated_oracle_white.

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

defense の際に王手を読むべきか.

Definition at line 282 of file ntesukiRecord.h.

References read_check_defense.

Referenced by osl::ntesuki::NtesukiSearcher::selectMoveDefense().

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

無駄合いを読むべきか.

Definition at line 269 of file ntesukiRecord.h.

References read_interpose.

Referenced by osl::ntesuki::NtesukiSearcher::selectMoveDefense().

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

attack の際に，ヒューリスティックに判別された攻撃手以外も読むか.

Definition at line 295 of file ntesukiRecord.h.

References read_non_attack.

Referenced by osl::ntesuki::NtesukiSearcher::selectMoveAttack().

void osl::ntesuki::NtesukiRecord::resetVisited | ( | ) |  |
| inline

Definition at line 235 of file ntesukiRecord.h.

References visited.

Referenced by osl::ntesuki::NtesukiRecord::UnVisitLock::UnVisitLock(), and osl::ntesuki::NtesukiRecord::VisitLock::~VisitLock().

template<osl::Player P>

rzones_t& osl::ntesuki::NtesukiRecord::rzone | ( | ) |  |
| inline

Definition at line 707 of file ntesukiRecord.h.

References osl::BLACK, rzone_black, and rzone_white.

Referenced by osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), and updateWithChild().

template<osl::Player P>

void osl::ntesuki::NtesukiRecord::setDisproofPieces | ( | int | pass_left,
|  | const NtesukiResult & | r,
|  | const NtesukiMove & | m,
|  | const PieceStand * | ps
| ) |  |

反証駒を設定する.

- A 攻撃側のプレイヤ

Definition at line 562 of file ntesukiRecord.tcc.

References osl::PieceStand::add(), osl::Move::capturePtype(), 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, osl::PieceStand::trySub(), and osl::unpromote().

template<osl::Player P>

void osl::ntesuki::NtesukiRecord::setFinal | ( | int | i,
|  | const NtesukiResult & | r,
|  | const NtesukiMove & | m,
|  | const PieceStand * | ps
| ) |  |
| private

Definition at line 665 of file ntesukiRecord.tcc.

References osl::checkmate::ProofDisproof::AttackBack(), CATCH_DFPN, osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), moves, ntesuki_assert, and TRY_DFPN.

template<osl::Player P>

template void osl::ntesuki::NtesukiRecord::setLoopWithPath< WHITE > | ( | int | pass_left,
|  | const PathEncoding & | path
| ) |  |

Definition at line 914 of file ntesukiRecord.tcc.

Referenced by osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), osl::ntesuki::NtesukiSearcher::handleNonAttack(), osl::ntesuki::NtesukiSearcher::selectMoveAttack(), and osl::ntesuki::NtesukiSearcher::selectMoveDefense().

template<osl::Player P>

template void osl::ntesuki::NtesukiRecord::setNtesuki< WHITE > | ( | int | pass_left) |  |

Definition at line 1045 of file ntesukiRecord.tcc.

Referenced by osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), and osl::ntesuki::NtesukiSearcher::selectMoveDefense().

template<osl::Player P>

template void osl::ntesuki::NtesukiRecord::setPDPieces< WHITE > | ( | int | pass_left,
|  | const PieceStand | p
| ) |  |

Definition at line 1087 of file ntesukiRecord.tcc.

template<osl::Player A>

void osl::ntesuki::NtesukiRecord::setProofPieces | ( | int | pass_left,
|  | const NtesukiResult & | r,
|  | const NtesukiMove & | m,
|  | const PieceStand * | ps
| ) |  |

証明駒を設定する.

- A 攻撃側のプレイヤ

Definition at line 520 of file ntesukiRecord.tcc.

References osl::D, getPDPieces(), osl::ntesuki::NtesukiMove::isPass(), osl::ntesuki::NtesukiMove::isValid(), and ntesuki_assert.

void osl::ntesuki::NtesukiRecord::setReadCheckDefense | ( | int | pass_left) |  |
| inline

Definition at line 287 of file ntesukiRecord.h.

References read_check_defense.

void osl::ntesuki::NtesukiRecord::setReadInterpose | ( | int | pass_left) |  |
| inline

Definition at line 274 of file ntesukiRecord.h.

References read_interpose.

Referenced by osl::ntesuki::NtesukiSearcher::selectMoveDefense().

void osl::ntesuki::NtesukiRecord::setReadNonAttack | ( | int | pass_left) |  |
| inline

Definition at line 300 of file ntesukiRecord.h.

References read_non_attack.

Referenced by osl::ntesuki::NtesukiSearcher::selectMoveAttack().

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`
| ) |  |

探索の結果を格納する

- A 攻撃側のプレイヤ

Definition at line 760 of file ntesukiRecord.tcc.

References osl::checkmate::ProofDisproof::disproof(), osl::checkmate::ProofDisproof::isFinal(), osl::ntesuki::NtesukiMove::isValid(), ntesuki_assert, and order.

Referenced by 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(), and osl::ntesuki::OracleProverLight::startFromDefense().

template<osl::Player T>

void osl::ntesuki::NtesukiRecord::setUpAttackNode | ( | ) |  |

Definition at line 181 of file ntesukiRecord.tcc.

References CATCH_DFPN, 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(), and TRY_DFPN.

template<osl::Player T>

void osl::ntesuki::NtesukiRecord::setUpDefenseNode | ( | ) |  |

Definition at line 241 of file ntesukiRecord.tcc.

References CATCH_DFPN, osl::checkmate::FixedDepthSearcher::hasEscapeMove(), osl::ntesuki::NtesukiMove::INVALID(), osl::Move::INVALID(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), and TRY_DFPN.

template<osl::Player T>

template bool osl::ntesuki::NtesukiRecord::setUpNode< WHITE > | ( | ) |  |

Fixed Depth Searcher を呼ぶ等.

Definition at line 144 of file ntesukiRecord.tcc.

References osl::BLACK, ntesuki_assert, and osl::WHITE.

Referenced by 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(), and osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof().

template<osl::Player A>

template void osl::ntesuki::NtesukiRecord::setUseOld< WHITE > | ( | int | pass_left,
|  | bool | value
| ) |  |

Definition at line 888 of file ntesukiRecord.tcc.

Referenced by osl::ntesuki::NtesukiSearcher::selectMoveAttack(), and osl::ntesuki::NtesukiSearcher::selectMoveDefense().

void osl::ntesuki::NtesukiRecord::setVisited | ( | ) |  |
| inline

Definition at line 229 of file ntesukiRecord.h.

References visited.

Referenced by osl::ntesuki::NtesukiRecord::VisitLock::VisitLock(), and osl::ntesuki::NtesukiRecord::UnVisitLock::~UnVisitLock().

template<osl::Player P>

template void osl::ntesuki::NtesukiRecord::triedPropagatedOracle< WHITE > | ( | int | pass_left) |  |

Definition at line 1062 of file ntesukiRecord.tcc.

Player osl::ntesuki::NtesukiRecord::turn | ( | ) |  | const
| inline

手番

Definition at line 105 of file ntesukiRecord.h.

References key.

Referenced by osl::ntesuki::NtesukiMoveGenerator::generateWithRzone().

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

Definition at line 90 of file ntesukiRecord.cc.

References osl::BLACK, rzone(), update(), and osl::WHITE.

template<Player P>

flags_t& osl::ntesuki::NtesukiRecord::use_old | ( | ) |  |
| inlineprivate

Definition at line 674 of file ntesukiRecord.h.

References osl::BLACK, use_old_black, and use_old_white.

template<Player P>

const flags_t osl::ntesuki::NtesukiRecord::use_old | ( | ) |  | const
| inlineprivate

Definition at line 682 of file ntesukiRecord.h.

References osl::BLACK, use_old_black, and use_old_white.

template<osl::Player A>

template bool osl::ntesuki::NtesukiRecord::useOld< WHITE > | ( | int | pass_left) |  | const

old child を読むべきか.

Definition at line 881 of file ntesukiRecord.tcc.

Referenced by osl::ntesuki::NtesukiSearcher::selectMoveAttack(), and osl::ntesuki::NtesukiSearcher::selectMoveDefense().

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

Definition at line 177 of file ntesukiRecord.cc.

template<Player P>

values_t& osl::ntesuki::NtesukiRecord::values | ( | ) |  |
| inlineprivate

Definition at line 594 of file ntesukiRecord.h.

References osl::BLACK, values_black, and values_white.

template<Player P>

const values_t& osl::ntesuki::NtesukiRecord::values | ( | ) |  | const
| inlineprivate

Definition at line 602 of file ntesukiRecord.h.

References osl::BLACK, values_black, and values_white.

## Member Data Documentation

bool osl::ntesuki::NtesukiRecord::already_set_up
| private

Definition at line 536 of file ntesukiRecord.h.

moves_t osl::ntesuki::NtesukiRecord::best_move_black
| private

Definition at line 525 of file ntesukiRecord.h.

Referenced by best_move().

moves_t osl::ntesuki::NtesukiRecord::best_move_white
| private

Definition at line 525 of file ntesukiRecord.h.

Referenced by best_move().

PieceStand osl::ntesuki::NtesukiRecord::black_stand

各プレイヤの持駒

Definition at line 75 of file ntesukiRecord.h.

Referenced by osl::ntesuki::operator<<(), and piece_stand().

bool osl::ntesuki::NtesukiRecord::by_fixed_black
| private

Definition at line 535 of file ntesukiRecord.h.

Referenced by by_fixed().

bool osl::ntesuki::NtesukiRecord::by_fixed_white
| private

Definition at line 535 of file ntesukiRecord.h.

Referenced by by_fixed().

bool osl::ntesuki::NtesukiRecord::by_simulation
| private

Definition at line 534 of file ntesukiRecord.h.

Referenced by isBySimulation().

unsigned int osl::ntesuki::NtesukiRecord::child_count
| mutableprivate

Definition at line 529 of file ntesukiRecord.h.

Referenced by addChildCount(), and getChildCount().

unsigned int osl::ntesuki::NtesukiRecord::confluence_count = 0
| static

合流点がいくつあるか.

Definition at line 70 of file ntesukiRecord.h.

Referenced by checkNewParent(), osl::ntesuki::NtesukiSearcher::NtesukiSearcher(), and osl::ntesuki::NtesukiSearcher::~NtesukiSearcher().

bool osl::ntesuki::NtesukiRecord::delay_lame_long = false
| static

Definition at line 62 of file ntesukiRecord.h.

unsigned short osl::ntesuki::NtesukiRecord::distance

root からの最短 path の距離

Definition at line 81 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiTable::allocateWithMove(), osl::ntesuki::NtesukiSearcher::handleTonshi(), osl::ntesuki::operator<<(), osl::ntesuki::NtesukiSearcher::selectMoveAttack(), osl::ntesuki::NtesukiSearcher::selectMoveDefense(), and osl::ntesuki::NtesukiTable::~NtesukiTable().

bool osl::ntesuki::NtesukiRecord::do_oracle_attack

DAG の分流点

Definition at line 541 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiSearcher::defenseWithPlayer().

bool osl::ntesuki::NtesukiRecord::do_oracle_aunt

Definition at line 546 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiSearcher::defenseWithPlayer().

bool osl::ntesuki::NtesukiRecord::final
| private

Definition at line 537 of file ntesukiRecord.h.

unsigned int osl::ntesuki::NtesukiRecord::fixed_search_depth = 0
| static

探索関係の色々な情報.

Definition at line 56 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiSearcher::NtesukiSearcher().

unsigned int osl::ntesuki::NtesukiRecord::inversion_cost = 0
| static

Definition at line 57 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiSearcher::NtesukiSearcher().

flags_t osl::ntesuki::NtesukiRecord::is_ntesuki_black
| private

Definition at line 555 of file ntesukiRecord.h.

Referenced by is_ntesuki(), and NtesukiRecord().

flags_t osl::ntesuki::NtesukiRecord::is_ntesuki_white
| private

Definition at line 555 of file ntesukiRecord.h.

Referenced by is_ntesuki(), and NtesukiRecord().

bool osl::ntesuki::NtesukiRecord::is_split

Definition at line 540 of file ntesukiRecord.h.

Referenced by find_split_right(), osl::ntesuki::NtesukiSearcher::selectMoveAttack(), and osl::ntesuki::NtesukiSearcher::selectMoveDefense().

HashKey osl::ntesuki::NtesukiRecord::key

局面の HashKey

Definition at line 84 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiTable::allocateWithMove(), osl::ntesuki::NtesukiTable::Table::collectGarbage(), RecordPrinter::enter(), RecordPrinter2::enter(), MarkAndSweep::enter(), osl::ntesuki::NtesukiTable::findWithMove(), osl::ntesuki::NtesukiTable::findWithMoveConst(), osl::ntesuki::NtesukiTable::Table::forEachRecordFrom(), isBetterFor(), RecordPrinter::operator()(), RecordPrinter2::operator()(), osl::ntesuki::operator<<(), operator==(), turn(), RecordPrinter::withChildMove(), RecordPrinter2::withChildMove(), MarkAndSweep::withChildMove(), and MarkAndSweep::~MarkAndSweep().

pell_t osl::ntesuki::NtesukiRecord::loop_path_list_black
| private

同一の局面で，Loop になっているものの Path

Definition at line 528 of file ntesukiRecord.h.

Referenced by loop_path_list().

pell_t osl::ntesuki::NtesukiRecord::loop_path_list_white
| private

Definition at line 528 of file ntesukiRecord.h.

Referenced by loop_path_list().

bool osl::ntesuki::NtesukiRecord::max_for_split = false
| static

Definition at line 60 of file ntesukiRecord.h.

Referenced by checkNewParent().

osl::ntesuki::NtesukiMoveGenerator * osl::ntesuki::NtesukiRecord::mg = NULL
| static

Definition at line 66 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiSearcher::NtesukiSearcher().

RecordPList osl::ntesuki::NtesukiRecord::parents

親局面のリスト

Definition at line 90 of file ntesukiRecord.h.

Referenced by addNewParent(), checkNewParent(), osl::ntesuki::NtesukiTable::Table::collectGarbage(), find_split(), find_split_right(), and isNewParent().

int osl::ntesuki::NtesukiRecord::pass_count = 0
| static

Definition at line 59 of file ntesukiRecord.h.

pdpieces_t osl::ntesuki::NtesukiRecord::pd_pieces_black
| private

Definition at line 526 of file ntesukiRecord.h.

Referenced by pdpieces().

pdpieces_t osl::ntesuki::NtesukiRecord::pd_pieces_white
| private

Definition at line 526 of file ntesukiRecord.h.

Referenced by pdpieces().

flags_t osl::ntesuki::NtesukiRecord::propagated_oracle_black
| private

Definition at line 556 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), and propagated_oracle().

flags_t osl::ntesuki::NtesukiRecord::propagated_oracle_white
| private

Definition at line 556 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), and propagated_oracle().

flags_t osl::ntesuki::NtesukiRecord::read_check_defense
| private

Definition at line 553 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), readCheckDefense(), and setReadCheckDefense().

unsigned int osl::ntesuki::NtesukiRecord::read_count
| mutableprivate

Definition at line 529 of file ntesukiRecord.h.

Referenced by getReadCount().

flags_t osl::ntesuki::NtesukiRecord::read_interpose
| private

Definition at line 552 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), readInterpose(), and setReadInterpose().

flags_t osl::ntesuki::NtesukiRecord::read_non_attack
| private

Definition at line 554 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), readNonAttack(), and setReadNonAttack().

int osl::ntesuki::NtesukiRecord::rev_refcount

Definition at line 91 of file ntesukiRecord.h.

Referenced by addNewParent(), and osl::ntesuki::NtesukiTable::Table::collectGarbage().

rzones_t osl::ntesuki::NtesukiRecord::rzone_black
| private

Definition at line 558 of file ntesukiRecord.h.

Referenced by rzone().

bool osl::ntesuki::NtesukiRecord::rzone_move_generation

Definition at line 549 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiSearcher::attackWithOrder(), osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), and osl::ntesuki::NtesukiSearcher::selectMoveAttack().

rzones_t osl::ntesuki::NtesukiRecord::rzone_white
| private

Definition at line 558 of file ntesukiRecord.h.

Referenced by rzone().

RecordList* osl::ntesuki::NtesukiRecord::same_board_list

盤面・手番が同じで，持駒だけ違う局面のリスト

Definition at line 87 of file ntesukiRecord.h.

Referenced by propagate_proof().

const unsigned int osl::ntesuki::NtesukiRecord::SIZE = 2
| static

各配列のサイズ.

SIZE - 1 手すきまで調べられる.

Definition at line 40 of file ntesukiRecord.h.

Referenced by isWin(), osl::ntesuki::NtesukiSearcher::NtesukiSearcher(), and osl::ntesuki::operator<<().

unsigned int osl::ntesuki::NtesukiRecord::split_count = 0
| static

分流点がいくつあるか.

Definition at line 70 of file ntesukiRecord.h.

Referenced by find_split_right(), osl::ntesuki::NtesukiSearcher::NtesukiSearcher(), and osl::ntesuki::NtesukiSearcher::~NtesukiSearcher().

osl::NumEffectState * osl::ntesuki::NtesukiRecord::state = NULL
| static

Definition at line 65 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiSearcher::NtesukiSearcher().

osl::ntesuki::NtesukiTable * osl::ntesuki::NtesukiRecord::table = NULL
| static

Definition at line 67 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiSearcher::NtesukiSearcher().

bool osl::ntesuki::NtesukiRecord::use_9rzone = false
| static

Definition at line 63 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiMoveGenerator::generateWithRzone().

bool osl::ntesuki::NtesukiRecord::use_dominance = false
| static

Definition at line 58 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), and osl::ntesuki::NtesukiSearcher::NtesukiSearcher().

flags_t osl::ntesuki::NtesukiRecord::use_old_black
| private

Definition at line 557 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), and use_old().

flags_t osl::ntesuki::NtesukiRecord::use_old_white
| private

Definition at line 557 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), and use_old().

bool osl::ntesuki::NtesukiRecord::use_rzone_move_generation = false
| static

Definition at line 61 of file ntesukiRecord.h.

NtesukiResult osl::ntesuki::NtesukiRecord::value_before_final
| private

Definition at line 531 of file ntesukiRecord.h.

values_t osl::ntesuki::NtesukiRecord::values_black
| private

Definition at line 524 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), and values().

values_t osl::ntesuki::NtesukiRecord::values_white
| private

Definition at line 524 of file ntesukiRecord.h.

Referenced by NtesukiRecord(), and values().

bool osl::ntesuki::NtesukiRecord::visited
| private

setResult で final な値を設定される直前の result

Definition at line 533 of file ntesukiRecord.h.

Referenced by isVisited(), resetVisited(), and setVisited().

PieceStand osl::ntesuki::NtesukiRecord::white_stand

Definition at line 75 of file ntesukiRecord.h.

Referenced by osl::ntesuki::NtesukiTable::allocateWithMove(), osl::ntesuki::operator<<(), and piece_stand().

unsigned int osl::ntesuki::NtesukiRecord::written_count
| mutableprivate

Definition at line 529 of file ntesukiRecord.h.

Referenced by getWrittenCount().

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

- ntesukiRecord.h
- ntesukiRecord.tcc
- ntesukiRecord.cc