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

#include <stateInfo.h>

Collaboration diagram for osl::move_probability::StateInfo:
Collaboration graph
[legend]

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, SquarefindCheckmateDefender (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)
 

Detailed Description

Definition at line 21 of file stateInfo.h.

Member Typedef Documentation

typedef FixedCapacityVector<int,8> osl::move_probability::StateInfo::long_attack_t

Definition at line 28 of file stateInfo.h.

Definition at line 30 of file stateInfo.h.

Definition at line 38 of file stateInfo.h.

Constructor & Destructor Documentation

osl::move_probability::StateInfo::StateInfo ( )
inline

Definition at line 48 of file stateInfo.h.

osl::move_probability::StateInfo::StateInfo ( const NumEffectState &  s,
Progress16  p,
const MoveStack &  h,
Move  t = Move() 
)
inline

Definition at line 51 of file stateInfo.h.

References clearOldCache(), finishUpdate(), and threatmate_move.

Member Function Documentation

void osl::move_probability::StateInfo::clearOldCache ( )
private
std::pair< osl::Piece, osl::Square > osl::move_probability::StateInfo::findCheckmateDefender ( const NumEffectState &  state,
Player  king 
)
static
osl::Move osl::move_probability::StateInfo::findShortThreatmate ( const NumEffectState &  state,
Move  last_move 
)
static
void osl::move_probability::StateInfo::finishUpdate ( )
King8Info osl::move_probability::StateInfo::king8Info ( Player  pl) const
inline

Definition at line 89 of file stateInfo.h.

References state.

Referenced by osl::move_probability::KingBlockade::match().

void osl::move_probability::StateInfo::makeLongAttacks ( )
private
void osl::move_probability::StateInfo::makePinOfLongPieces ( )
private
bool osl::move_probability::StateInfo::pinByOpposingSliders ( Piece  p) const
inline
int osl::move_probability::StateInfo::progress8 ( ) const
inline
void osl::move_probability::StateInfo::reset ( const NumEffectState &  s,
Progress16  p,
const MoveStack &  h,
Move  threatmate_move = Move() 
)
inline

Definition at line 74 of file stateInfo.h.

References finishUpdate(), reset0(), reset1(), setThreatmate(), and threatmate_move.

void osl::move_probability::StateInfo::reset0 ( const NumEffectState &  s,
Progress16  p 
)
inline

Definition at line 59 of file stateInfo.h.

References clearOldCache(), dirty, king8_long_pieces, long_attack_cache, pin_by_opposing_sliders, progress16, and state.

Referenced by reset().

void osl::move_probability::StateInfo::reset1 ( const MoveStack &  h)
inline

Definition at line 69 of file stateInfo.h.

References history.

Referenced by reset().

void osl::move_probability::StateInfo::setThreatmate ( Move  move)
inline

Definition at line 82 of file stateInfo.h.

References threatmate_move.

Referenced by reset().

void osl::move_probability::StateInfo::updateDelayed ( )
private
void osl::move_probability::StateInfo::updatePinnedGenerals ( Player  owner)
private

Member Data Documentation

CArray2d<bool,40,2> osl::move_probability::StateInfo::attack_shadow
CArray<Move,2> osl::move_probability::StateInfo::bookmove

Definition at line 45 of file stateInfo.h.

Referenced by osl::move_probability::BookMove::match().

BoardMask osl::move_probability::StateInfo::changed_effects

Definition at line 42 of file stateInfo.h.

Referenced by osl::move_probability::PatternCommon::updateCacheOne().

CArray<std::pair<Piece,Square>,2> osl::move_probability::StateInfo::checkmate_defender
NumEffectState osl::move_probability::StateInfo::copy
mutable
bool osl::move_probability::StateInfo::dirty

Definition at line 46 of file stateInfo.h.

Referenced by osl::move_probability::FeatureSet::generateRating(), and reset0().

CArray<pinned_gs_t,2> osl::move_probability::StateInfo::exchange_pins
const MoveStack* osl::move_probability::StateInfo::history
PieceVector osl::move_probability::StateInfo::king8_long_pieces
PieceMask osl::move_probability::StateInfo::last_add_effect
Ptype osl::move_probability::StateInfo::last_move_ptype5
CArray2d<long_attack_t,40,8> osl::move_probability::StateInfo::long_attack_cache
CArray<bool,2> osl::move_probability::StateInfo::move_candidate_exists
CArray<pattern_square_t,Square::SIZE> osl::move_probability::StateInfo::pattern_cache
CArray<PieceMask,2> osl::move_probability::StateInfo::pin
PieceVector osl::move_probability::StateInfo::pin_by_opposing_sliders
unsigned int osl::move_probability::StateInfo::possible_threatmate_ptype

Definition at line 44 of file stateInfo.h.

Referenced by osl::move_probability::ThreatmateByCapture::match().

Progress16 osl::move_probability::StateInfo::progress16

Definition at line 25 of file stateInfo.h.

Referenced by osl::move_probability::operator==(), progress8(), and reset0().

Square8 osl::move_probability::StateInfo::sendoffs
const NumEffectState* osl::move_probability::StateInfo::state

Definition at line 23 of file stateInfo.h.

Referenced by osl::move_probability::PatternCommon::addOne(), osl::move_probability::AddEffectLong::addOne(), osl::move_probability::BishopAttack::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::FeatureSet::generateRating(), king8Info(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::CheckFeature::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::LureDefender::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::DropAfterOpposingPawn::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::PawnAttack::matchPtype(), osl::move_probability::operator==(), reset0(), osl::move_probability::ToEffect::supportAttack(), osl::move_probability::BlockLong::updateCache(), and osl::move_probability::PatternCommon::updateCacheOne().

CArray<Piece,2> osl::move_probability::StateInfo::threatened
Move osl::move_probability::StateInfo::threatmate_move

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