#include <oracleProverLight.h>
Classes | |
class | AttackHelper |
class | DefenseHelper |
Public Types | |
typedef NtesukiTable | table_t |
typedef NumEffectState | state_t |
typedef NtesukiMoveGenerator | gen_t |
Public Member Functions | |
OracleProverLight (state_t &s, gen_t *g, PathEncoding p, table_t &t, NtesukiRecord::ISScheme isscheme=NtesukiRecord::no_is) | |
template<Player P> | |
bool | startFromAttack (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int pass_left) |
template<Player P> | |
bool | startFromDefense (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int pass_left) |
Private Member Functions | |
template<Player P> | |
bool | attack (const NtesukiRecord *oracle, const unsigned int pass_left) |
template<Player P> | |
bool | defense (const NtesukiRecord *oracle, const unsigned int pass_left) |
Private Attributes | |
state_t & | state |
gen_t * | mg |
PathEncoding | path |
table_t & | table |
NtesukiRecord::ISScheme | isscheme |
int | fixed_search_depth |
Definition at line 16 of file oracleProverLight.h.
Definition at line 21 of file oracleProverLight.h.
typedef NumEffectState osl::ntesuki::OracleProverLight::state_t |
Definition at line 20 of file oracleProverLight.h.
Definition at line 19 of file oracleProverLight.h.
osl::ntesuki::OracleProverLight::OracleProverLight | ( | state_t & | s, |
gen_t * | g, | ||
PathEncoding | p, | ||
table_t & | t, | ||
NtesukiRecord::ISScheme | isscheme = NtesukiRecord::no_is |
||
) | [inline, explicit] |
Definition at line 34 of file oracleProverLight.h.
bool OracleProverLight::attack | ( | const NtesukiRecord * | oracle, |
const unsigned int | pass_left | ||
) | [private] |
Definition at line 109 of file oracleProverLight.tcc.
References CATCH_DFPN, osl::ntesuki::NtesukiRecord::getBestMove(), osl::ntesuki::NtesukiRecord::getValue(), osl::checkmate::FixedDepthSearcher::hasCheckmateMove(), osl::ntesuki::NtesukiMove::isCheck(), osl::ntesuki::NtesukiMove::isImmediateCheckmate(), osl::isValid(), osl::ntesuki::NtesukiMove::move, ntesuki_assert, osl::ntesuki::OracleProverLight::AttackHelper< Searcher, P >::result, and TRY_DFPN.
bool OracleProverLight::defense | ( | const NtesukiRecord * | oracle, |
const unsigned int | pass_left | ||
) | [private] |
Definition at line 192 of file oracleProverLight.tcc.
References CATCH_DFPN, osl::ntesuki::NtesukiRecord::getValue(), osl::ntesuki::NtesukiMove::isCheck(), osl::ntesuki::NtesukiMove::isNormal(), osl::ntesuki::NtesukiMove::isPass(), osl::ntesuki::NtesukiMove::move, moves, ntesuki_assert, osl::ntesuki::OracleProverLight::DefenseHelper< Searcher, P >::result, and TRY_DFPN.
template bool osl::ntesuki::OracleProverLight::startFromAttack< WHITE > | ( | NtesukiRecord * | record, |
const NtesukiRecord * | record_orig, | ||
const unsigned int | pass_left | ||
) |
Definition at line 265 of file oracleProverLight.tcc.
References CATCH_DFPN, osl::ntesuki::NtesukiRecord::getBestMove(), osl::ntesuki::NtesukiRecord::getPDPieces(), osl::ntesuki::NtesukiRecord::getPieceStand(), osl::ntesuki::NtesukiRecord::getValue(), osl::ntesuki::NtesukiMove::isImmediateCheckmate(), osl::PieceStand::isSuperiorOrEqualTo(), osl::ntesuki::NtesukiMove::isValid(), ntesuki_assert, osl::ntesuki::NtesukiRecord::setResult(), and TRY_DFPN.
Referenced by osl::ntesuki::NtesukiSimulationSearcher::startFromAttackProof().
template bool osl::ntesuki::OracleProverLight::startFromDefense< WHITE > | ( | NtesukiRecord * | record, |
const NtesukiRecord * | record_orig, | ||
const unsigned int | pass_left | ||
) |
Definition at line 302 of file oracleProverLight.tcc.
References CATCH_DFPN, osl::ntesuki::NtesukiRecord::getBestMove(), osl::ntesuki::NtesukiRecord::getPDPieces(), osl::ntesuki::NtesukiRecord::getPieceStand(), osl::ntesuki::NtesukiRecord::getValue(), osl::PieceStand::isSuperiorOrEqualTo(), ntesuki_assert, osl::ntesuki::NtesukiRecord::setResult(), and TRY_DFPN.
Referenced by osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof().
int osl::ntesuki::OracleProverLight::fixed_search_depth [private] |
Definition at line 28 of file oracleProverLight.h.
Definition at line 27 of file oracleProverLight.h.
gen_t* osl::ntesuki::OracleProverLight::mg [private] |
Definition at line 24 of file oracleProverLight.h.
Definition at line 25 of file oracleProverLight.h.
state_t& osl::ntesuki::OracleProverLight::state [private] |
Definition at line 23 of file oracleProverLight.h.
table_t& osl::ntesuki::OracleProverLight::table [private] |
Definition at line 26 of file oracleProverLight.h.