My Project
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>

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 NumEffectStatestate
 
const MoveStackhistory
 
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::SIZEpattern_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 20 of file stateInfo.h.

Member Typedef Documentation

◆ long_attack_t

Definition at line 27 of file stateInfo.h.

◆ pattern_square_t

Definition at line 29 of file stateInfo.h.

◆ pinned_gs_t

Definition at line 37 of file stateInfo.h.

Constructor & Destructor Documentation

◆ StateInfo() [1/2]

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

Definition at line 47 of file stateInfo.h.

◆ StateInfo() [2/2]

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

Definition at line 50 of file stateInfo.h.

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

Member Function Documentation

◆ clearOldCache()

void osl::move_probability::StateInfo::clearOldCache ( )
private

◆ findCheckmateDefender()

std::pair< osl::Piece, osl::Square > osl::move_probability::StateInfo::findCheckmateDefender ( const NumEffectState state,
Player  king 
)
static

◆ findShortThreatmate()

osl::Move osl::move_probability::StateInfo::findShortThreatmate ( const NumEffectState state,
Move  last_move 
)
static

◆ finishUpdate()

void osl::move_probability::StateInfo::finishUpdate ( )

◆ king8Info()

King8Info osl::move_probability::StateInfo::king8Info ( Player  pl) const
inline

Definition at line 88 of file stateInfo.h.

References osl::NumEffectState::Iking8Info(), and state.

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

◆ makeLongAttacks()

void osl::move_probability::StateInfo::makeLongAttacks ( )
private

◆ makePinOfLongPieces()

void osl::move_probability::StateInfo::makePinOfLongPieces ( )
private

◆ pinByOpposingSliders()

bool osl::move_probability::StateInfo::pinByOpposingSliders ( Piece  p) const
inline

◆ progress8()

int osl::move_probability::StateInfo::progress8 ( ) const
inline

◆ reset()

void osl::move_probability::StateInfo::reset ( const NumEffectState s,
Progress16  p,
const MoveStack h,
Move  threatmate_move = Move() 
)
inline

Definition at line 73 of file stateInfo.h.

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

◆ reset0()

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

◆ reset1()

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

Definition at line 68 of file stateInfo.h.

References history.

Referenced by reset().

◆ setThreatmate()

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

Definition at line 81 of file stateInfo.h.

References threatmate_move.

Referenced by reset().

◆ updateDelayed()

void osl::move_probability::StateInfo::updateDelayed ( )
private

◆ updatePinnedGenerals()

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

Member Data Documentation

◆ attack_shadow

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

◆ bookmove

CArray<Move,2> osl::move_probability::StateInfo::bookmove

Definition at line 44 of file stateInfo.h.

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

◆ changed_effects

BoardMask osl::move_probability::StateInfo::changed_effects

Definition at line 41 of file stateInfo.h.

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

◆ checkmate_defender

CArray<std::pair<Piece,Square>,2> osl::move_probability::StateInfo::checkmate_defender

◆ copy

NumEffectState osl::move_probability::StateInfo::copy
mutable

◆ dirty

bool osl::move_probability::StateInfo::dirty

Definition at line 45 of file stateInfo.h.

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

◆ exchange_pins

CArray<pinned_gs_t,2> osl::move_probability::StateInfo::exchange_pins

◆ history

const MoveStack* osl::move_probability::StateInfo::history

◆ king8_long_pieces

PieceVector osl::move_probability::StateInfo::king8_long_pieces

◆ last_add_effect

PieceMask osl::move_probability::StateInfo::last_add_effect

◆ last_move_ptype5

Ptype osl::move_probability::StateInfo::last_move_ptype5

◆ long_attack_cache

CArray2d<long_attack_t,40,8> osl::move_probability::StateInfo::long_attack_cache

◆ move_candidate_exists

CArray<bool,2> osl::move_probability::StateInfo::move_candidate_exists

◆ pattern_cache

CArray<pattern_square_t,Square::SIZE> osl::move_probability::StateInfo::pattern_cache

◆ pin

CArray<PieceMask,2> osl::move_probability::StateInfo::pin

◆ pin_by_opposing_sliders

PieceVector osl::move_probability::StateInfo::pin_by_opposing_sliders

◆ possible_threatmate_ptype

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

Progress16 osl::move_probability::StateInfo::progress16

Definition at line 24 of file stateInfo.h.

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

◆ sendoffs

Square8 osl::move_probability::StateInfo::sendoffs

◆ state

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

◆ threatened

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

◆ threatmate_move

Move osl::move_probability::StateInfo::threatmate_move

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