#include <feature.h>
Public 型 | |
enum | { AttackPtype = 8, BasicAttack = AttackPtype*osl::PTYPEO_SIZE, OptionSize = 8, LongAttackSize = BasicAttack * OptionSize, DIM = PTYPE_SIZE * 2 * LongAttackSize } |
Public メソッド | |
BlockLong () | |
double | match (const StateInfo &state, const MoveInfo &move, int offset, const double *w) const |
Static Public メソッド | |
static int | longAttackIndex (osl::PtypeO ptypeo) |
static double | addPiece (const StateInfo &state, Piece piece, Square to, const double *w, int offset) |
static int | ptypeSupport (Ptype moved, bool has_support) |
static double | findAll (const StateInfo &state, Player P, Square target, const double *w, int offset) |
static double | findAll (const StateInfo &state, Move move, const double *w, int offset=0) |
static void | updateCache (StateInfo &) |
Static Private メソッド | |
static void | makeLongAttackOne (StateInfo &info, Piece piece, Direction d) |
move_probability/feature.h の 700 行で定義されています。
anonymous enum |
move_probability/feature.h の 703 行で定義されています。
osl::move_probability::BlockLong::BlockLong | ( | ) | [inline] |
move_probability/feature.h の 710 行で定義されています。
static double osl::move_probability::BlockLong::addPiece | ( | const StateInfo & | state, | |
Piece | piece, | |||
Square | to, | |||
const double * | w, | |||
int | offset | |||
) | [inline, static] |
move_probability/feature.h の 727 行で定義されています。
参照先 osl::BLACK, osl::Board_Table, osl::BoardTable::getLongDirection(), osl::NumEffectState::hasEffectByPiece(), osl::move_probability::StateInfo::long_attack_cache, osl::longToShort(), osl::Piece::number(), osl::Piece::square(), と osl::move_probability::StateInfo::state.
static double osl::move_probability::BlockLong::findAll | ( | const StateInfo & | state, | |
Player | P, | |||
Square | target, | |||
const double * | w, | |||
int | offset | |||
) | [inline, static] |
move_probability/feature.h の 746 行で定義されています。
参照先 osl::alt(), osl::NumEffectState::longEffectAt(), osl::SimpleState::pieceOf(), と osl::move_probability::StateInfo::state.
参照元 osl::move_probability::AddEffectLong::addOne(), osl::move_probability::BlockLongFrom::findAll(), と osl::move_probability::LongRecapture::match().
static int osl::move_probability::BlockLong::longAttackIndex | ( | osl::PtypeO | ptypeo | ) | [inline, static] |
move_probability/feature.h の 713 行で定義されています。
参照先 osl::BISHOP, osl::getOwner(), osl::getPtype(), osl::LANCE, osl::PBISHOP, osl::PROOK, osl::ROOK, と osl::WHITE.
参照元 makeLongAttackOne().
void osl::move_probability::BlockLong::makeLongAttackOne | ( | StateInfo & | info, | |
Piece | piece, | |||
Direction | d | |||
) | [static, private] |
feature_.cc の 147 行で定義されています。
参照先 osl::alt(), osl::move_probability::StateInfo::attack_shadow, osl::Board_Table, osl::Square::canPromote(), osl::BoardTable::getOffsetForBlack(), osl::BoardTable::getShortOffsetNotKnight(), osl::NumEffectState::hasEffectAt(), osl::BoardTable::isBetween(), osl::Piece::isEdge(), osl::Piece::isEmpty(), osl::Move::isNormal(), osl::Piece::isOnBoardByOwner(), osl::isPiece(), osl::SimpleState::kingSquare(), osl::move_probability::StateInfo::long_attack_cache, longAttackIndex(), osl::NumEffectState::mobilityOf(), osl::Piece::number(), OptionSize, osl::Piece::owner(), osl::SimpleState::pieceAt(), osl::SimpleState::pieceOnBoard(), osl::Piece::ptypeO(), osl::PTYPEO_SIZE, osl::ptypeOIndex(), osl::FixedCapacityVector< T, Capacity >::push_back(), osl::Piece::square(), osl::move_probability::StateInfo::state, osl::move_probability::StateInfo::threatmate_move, osl::Move::to(), osl::SimpleState::turn(), osl::WHITE, と osl::Offset::zero().
参照元 updateCache().
double osl::move_probability::BlockLong::match | ( | const StateInfo & | state, | |
const MoveInfo & | move, | |||
int | offset, | |||
const double * | w | |||
) | const [inline, virtual] |
osl::move_probability::Featureを実装しています。
move_probability/feature.h の 772 行で定義されています。
static int osl::move_probability::BlockLong::ptypeSupport | ( | Ptype | moved, | |
bool | has_support | |||
) | [inline, static] |
move_probability/feature.h の 742 行で定義されています。
void osl::move_probability::BlockLong::updateCache | ( | StateInfo & | info | ) | [static] |
feature_.cc の 113 行で定義されています。
参照先 osl::BLACK, osl::D, osl::DL, osl::DR, osl::PtypeTraits< ROOK >::indexMin, osl::PtypeTraits< BISHOP >::indexMin, osl::PtypeTraits< LANCE >::indexMin, osl::Piece::isOnBoard(), osl::Piece::isPromoted(), osl::L, makeLongAttackOne(), osl::Piece::owner(), osl::SimpleState::pieceOf(), osl::R, osl::move_probability::StateInfo::state, osl::U, osl::UL, と osl::UR.