My Project
|
#include <stateInfo.h>
Public Types | |
typedef FixedCapacityVector< int, 8 > | long_attack_t |
typedef CArray< int, 16 > | pattern_square_t |
typedef FixedCapacityVector< PinnedGeneral, 64 > | pinned_gs_t |
Public Member Functions | |
StateInfo () | |
StateInfo (const NumEffectState &s, Progress16 p, const MoveStack &h, Move t=Move()) | |
void | reset0 (const NumEffectState &s, Progress16 p) |
void | reset1 (const MoveStack &h) |
void | finishUpdate () |
void | reset (const NumEffectState &s, Progress16 p, const MoveStack &h, Move threatmate_move=Move()) |
void | setThreatmate (Move move) |
bool | pinByOpposingSliders (Piece p) const |
King8Info | king8Info (Player pl) const |
int | progress8 () const |
Static Public Member Functions | |
static std::pair< Piece, Square > | findCheckmateDefender (const NumEffectState &state, Player king) |
static Move | findShortThreatmate (const NumEffectState &, Move last_move) |
Public Attributes | |
const NumEffectState * | state |
const MoveStack * | history |
Progress16 | progress16 |
PieceVector | pin_by_opposing_sliders |
PieceVector | king8_long_pieces |
CArray< Piece, 2 > | threatened |
CArray2d< long_attack_t, 40, 8 > | long_attack_cache |
CArray< pattern_square_t, Square::SIZE > | pattern_cache |
CArray2d< bool, 40, 2 > | attack_shadow |
PieceMask | last_add_effect |
Ptype | last_move_ptype5 |
CArray< PieceMask, 2 > | pin |
Move | threatmate_move |
Square8 | sendoffs |
CArray< pinned_gs_t, 2 > | exchange_pins |
CArray< bool, 2 > | move_candidate_exists |
NumEffectState | copy |
BoardMask | changed_effects |
CArray< std::pair< Piece, Square >, 2 > | checkmate_defender |
unsigned int | possible_threatmate_ptype |
CArray< Move, 2 > | bookmove |
bool | dirty |
Private Member Functions | |
void | clearOldCache () |
void | updateDelayed () |
void | makePinOfLongPieces () |
void | makeLongAttacks () |
void | updatePinnedGenerals (Player owner) |
Definition at line 20 of file stateInfo.h.
Definition at line 27 of file stateInfo.h.
typedef CArray<int,16> osl::move_probability::StateInfo::pattern_square_t |
Definition at line 29 of file stateInfo.h.
Definition at line 37 of file stateInfo.h.
|
inline |
Definition at line 47 of file stateInfo.h.
|
inline |
Definition at line 50 of file stateInfo.h.
References clearOldCache(), finishUpdate(), and threatmate_move.
|
private |
Definition at line 13 of file stateInfo.cc.
References osl::alt(), osl::BLACK, osl::Board_Table, osl::BoardTable::getOffset(), osl::KNIGHT, osl::PTYPE_BASIC_MIN, osl::PTYPE_MAX, osl::UUL, osl::UUR, and osl::WHITE.
Referenced by reset0(), and StateInfo().
|
static |
Definition at line 159 of file stateInfo.cc.
References osl::alt(), osl::Board_Table, osl::NumEffectState::countEffect(), osl::NumEffectState::findCheapAttack(), osl::BoardTable::getOffset(), osl::NumEffectState::hasEffectAt(), osl::SimpleState::hasPieceOnStand(), osl::Piece::isEmpty(), osl::NumEffectState::king8Info(), osl::SimpleState::kingSquare(), osl::checkmate::King8Info::libertyDropMask(), osl::SimpleState::pieceAt(), osl::PTYPE_BASIC_MIN, and osl::checkmate::King8Info::spaces().
|
static |
Definition at line 221 of file stateInfo.cc.
References osl::alt(), osl::SimpleState::changeTurn(), osl::GOLD, osl::checkmate::FixedDepthSearcher::hasCheckmateMoveOfTurn(), osl::SimpleState::hasPieceOnStand(), osl::NumEffectState::inCheck(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::checkmate::ProofDisproof::isFinal(), osl::Move::isNormal(), osl::SimpleState::kingSquare(), osl::Move::ptypeO(), osl::Move::to(), and osl::SimpleState::turn().
void osl::move_probability::StateInfo::finishUpdate | ( | ) |
Definition at line 58 of file stateInfo.cc.
References osl::alt(), osl::BLACK, osl::book::BookInMemory::find(), osl::GOLD, osl::isMajor(), osl::Piece::isOnBoardByOwner(), osl::KNIGHT, osl::LANCE, osl::PTYPE_EMPTY, osl::SHORT8_DIRECTION_MAX, osl::SHORT8_DIRECTION_MIN, osl::SILVER, osl::FixedCapacityVector< T, Capacity >::size(), osl::unpromote(), and osl::WHITE.
Referenced by reset(), and StateInfo().
Definition at line 88 of file stateInfo.h.
References osl::NumEffectState::Iking8Info(), and state.
Referenced by osl::move_probability::KingBlockade::match().
|
private |
|
private |
Definition at line 102 of file stateInfo.cc.
References osl::BLACK, osl::D, osl::DL, osl::DR, osl::Piece::isOnBoard(), osl::isPiece(), osl::KING, osl::L, osl::Piece::ptype(), osl::R, osl::Piece::square(), osl::U, osl::UL, osl::UR, and osl::WHITE.
|
inline |
Definition at line 83 of file stateInfo.h.
References osl::FixedCapacityVector< T, Capacity >::begin(), osl::FixedCapacityVector< T, Capacity >::end(), and pin_by_opposing_sliders.
Referenced by osl::move_probability::MoveInfo::adhocAdjustSlider(), osl::move_probability::AttackFromOpposingSliders::match(), and osl::move_probability::MoveFromOpposingSliders::match().
|
inline |
Definition at line 92 of file stateInfo.h.
References progress16.
Referenced by osl::move_probability::StandardFeatureSet::logProbSeePlus(), osl::move_probability::StandardFeatureSet::logProbTakeBack(), osl::move_probability::SquareY::match(), osl::move_probability::SquareX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::KingRelativeX::match(), and osl::move_probability::SeeFeature::match().
|
inline |
Definition at line 73 of file stateInfo.h.
References finishUpdate(), reset0(), reset1(), setThreatmate(), and threatmate_move.
|
inline |
Definition at line 58 of file stateInfo.h.
References osl::FixedCapacityVector< T, Capacity >::clear(), clearOldCache(), dirty, king8_long_pieces, long_attack_cache, pin_by_opposing_sliders, progress16, and state.
Referenced by reset().
|
inline |
|
inline |
|
private |
|
private |
Definition at line 184 of file stateInfo.cc.
References osl::alt(), osl::PieceMask::any(), osl::Board_Table, osl::PtypeTable::getMoveMask(), osl::BoardTable::getOffset(), osl::Piece::isEmpty(), osl::Piece::isOnBoardByOwner(), osl::LANCE, osl::PAWN, osl::Piece::ptype(), osl::Ptype_Table, osl::Piece::ptypeO(), osl::Piece::square(), and osl::container::PieceMask64::takeOneBit().
CArray2d<bool,40,2> osl::move_probability::StateInfo::attack_shadow |
Definition at line 31 of file stateInfo.h.
Referenced by osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::operator==(), and osl::move_probability::PatternCommon::updateCacheOne().
Definition at line 44 of file stateInfo.h.
Referenced by osl::move_probability::BookMove::match().
BoardMask osl::move_probability::StateInfo::changed_effects |
Definition at line 41 of file stateInfo.h.
Referenced by osl::move_probability::PatternCommon::updateCacheOne().
Definition at line 42 of file stateInfo.h.
Referenced by osl::move_probability::MoveInfo::adhocAdjustAttackCheckmateDefender(), osl::move_probability::MoveInfo::adhocAdjustKeepCheckmateDefender(), and osl::move_probability::operator==().
|
mutable |
Definition at line 40 of file stateInfo.h.
Referenced by osl::move_probability::CheckmateIfCapture::match(), and osl::move_probability::operator==().
bool osl::move_probability::StateInfo::dirty |
Definition at line 45 of file stateInfo.h.
Referenced by osl::move_probability::FeatureSet::generateRating(), and reset0().
CArray<pinned_gs_t,2> osl::move_probability::StateInfo::exchange_pins |
Definition at line 38 of file stateInfo.h.
Referenced by osl::move_probability::LureDefender::match(), and osl::move_probability::operator==().
const MoveStack* osl::move_probability::StateInfo::history |
Definition at line 23 of file stateInfo.h.
Referenced by osl::move_probability::CoverPawn::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::TakeBackFeature::match(), osl::move_probability::ContinueCapture::match(), osl::move_probability::DropCaptured::match(), osl::move_probability::operator==(), reset1(), and osl::move_probability::PatternCommon::updateCacheOne().
PieceVector osl::move_probability::StateInfo::king8_long_pieces |
Definition at line 25 of file stateInfo.h.
Referenced by osl::move_probability::AttackKing8Long::match(), osl::move_probability::operator==(), and reset0().
PieceMask osl::move_probability::StateInfo::last_add_effect |
Definition at line 32 of file stateInfo.h.
Referenced by osl::move_probability::operator==(), and osl::move_probability::PatternCommon::updateCacheOne().
Ptype osl::move_probability::StateInfo::last_move_ptype5 |
Definition at line 33 of file stateInfo.h.
Referenced by osl::move_probability::operator==(), and osl::move_probability::PatternCommon::updateCacheOne().
CArray2d<long_attack_t,40,8> osl::move_probability::StateInfo::long_attack_cache |
Definition at line 28 of file stateInfo.h.
Referenced by osl::move_probability::BlockLong::addPiece(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::operator==(), and reset0().
CArray<bool,2> osl::move_probability::StateInfo::move_candidate_exists |
Definition at line 39 of file stateInfo.h.
Referenced by osl::move_probability::CheckmateIfCapture::match(), and osl::move_probability::operator==().
CArray<pattern_square_t,Square::SIZE> osl::move_probability::StateInfo::pattern_cache |
Definition at line 30 of file stateInfo.h.
Referenced by osl::move_probability::PatternCommon::addOne(), osl::move_probability::BishopAttack::addSquare(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::operator==(), and osl::move_probability::PatternCommon::updateCacheOne().
Definition at line 34 of file stateInfo.h.
Referenced by osl::move_probability::operator==(), osl::move_probability::ToEffect::supportAttack(), and osl::move_probability::PatternCommon::updateCacheOne().
PieceVector osl::move_probability::StateInfo::pin_by_opposing_sliders |
Definition at line 25 of file stateInfo.h.
Referenced by osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::operator==(), pinByOpposingSliders(), and reset0().
unsigned int osl::move_probability::StateInfo::possible_threatmate_ptype |
Definition at line 43 of file stateInfo.h.
Referenced by osl::move_probability::ThreatmateByCapture::match().
Progress16 osl::move_probability::StateInfo::progress16 |
Definition at line 24 of file stateInfo.h.
Referenced by osl::move_probability::operator==(), progress8(), and reset0().
Square8 osl::move_probability::StateInfo::sendoffs |
Definition at line 36 of file stateInfo.h.
Referenced by osl::move_probability::SendOff::match(), and osl::move_probability::operator==().
const NumEffectState* osl::move_probability::StateInfo::state |
Definition at line 22 of file stateInfo.h.
Referenced by osl::move_probability::BishopAttack::addOne(), osl::move_probability::PatternCommon::addOne(), osl::move_probability::AddEffectLong::addOne(), osl::move_probability::King5x5Ptype::addOne(), osl::move_probability::BlockLong::addPiece(), osl::move_probability::MoveInfo::adhocAdjustAttackCheckmateDefender(), osl::move_probability::MoveInfo::adhocAdjustBishopFork(), osl::move_probability::MoveInfo::adhocAdjustBreakThreatmate(), osl::move_probability::MoveInfo::adhocAdjustKeepCheckmateDefender(), osl::move_probability::MoveInfo::adhocAdjustSlider(), osl::move_probability::BlockLong::findAll(), osl::move_probability::BlockLong::findAll(), osl::move_probability::FeatureSet::generateRating(), king8Info(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::LongRecapture::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::LureDefender::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::King5x5Ptype::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::CoverFork::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::CheckFeature::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::RookAttack::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::PawnAttack::matchPtype(), osl::move_probability::operator==(), reset0(), osl::move_probability::ToEffect::supportAttack(), osl::move_probability::BlockLong::updateCache(), and osl::move_probability::PatternCommon::updateCacheOne().
Definition at line 26 of file stateInfo.h.
Referenced by osl::move_probability::EscapeThreatened::match(), osl::move_probability::CapturePtype::match(), and osl::move_probability::operator==().
Move osl::move_probability::StateInfo::threatmate_move |
Definition at line 35 of file stateInfo.h.
Referenced by osl::move_probability::MoveInfo::adhocAdjustBreakThreatmate(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::operator==(), reset(), setThreatmate(), and StateInfo().