All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions
osl::move_probability::StateInfo Struct Reference

#include <stateInfo.h>

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

List of all members.

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

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

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]
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::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().

Definition at line 82 of file stateInfo.h.

References threatmate_move.

Referenced by reset().


Member Data Documentation

Definition at line 45 of file stateInfo.h.

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

Definition at line 42 of file stateInfo.h.

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

NumEffectState osl::move_probability::StateInfo::copy [mutable]

Definition at line 46 of file stateInfo.h.

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

Definition at line 44 of file stateInfo.h.

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

Definition at line 25 of file stateInfo.h.

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

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().


The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines