#include <feature.h>
Public 型 | |
enum | { PatternCacheSize = PatternCommon::PatternCacheSize, AddEffectSize = PTYPE_SIZE * PatternCacheSize, OpenRoadSize = PTYPE_SIZE * PatternCacheSize, OpenRoadBase = AddEffectSize, KingMoveSize = PatternCacheSize, KingMoveBase = OpenRoadBase + OpenRoadSize, CaptureSize = PTYPE_SIZE*PTYPE_SIZE, CaptureBase = KingMoveBase + KingMoveSize, AddEffect8Size = PTYPE_SIZE*PatternCacheSize, AddEffect8Base = CaptureBase + CaptureSize, OtherMoveSize = 1, OtherMoveBase = AddEffect8Base + AddEffect8Size, DIM = OtherMoveBase + OtherMoveSize } |
Public メソッド | |
BreakThreatmate () | |
double | match (const StateInfo &info, const MoveInfo &move, int offset, const double *w) const |
Static Public メソッド | |
static bool | isKingMove (Move move) |
static bool | isOpeningKingRoad (Move move, Square king) |
static bool | isDefendingThreatmate (Move move, Move threatmate, const NumEffectState &state) |
static bool | isDefendingKing8 (Move move, Square king, const NumEffectState &state) |
move_probability/feature.h の 1022 行で定義されています。
anonymous enum |
PatternCacheSize | |
AddEffectSize | |
OpenRoadSize | |
OpenRoadBase | |
KingMoveSize | |
KingMoveBase | |
CaptureSize | |
CaptureBase | |
AddEffect8Size | |
AddEffect8Base | |
OtherMoveSize | |
OtherMoveBase | |
DIM |
move_probability/feature.h の 1025 行で定義されています。
osl::move_probability::BreakThreatmate::BreakThreatmate | ( | ) | [inline] |
move_probability/feature.h の 1035 行で定義されています。
static bool osl::move_probability::BreakThreatmate::isDefendingKing8 | ( | Move | move, | |
Square | king, | |||
const NumEffectState & | state | |||
) | [inline, static] |
static bool osl::move_probability::BreakThreatmate::isDefendingThreatmate | ( | Move | move, | |
Move | threatmate, | |||
const NumEffectState & | state | |||
) | [inline, static] |
static bool osl::move_probability::BreakThreatmate::isKingMove | ( | Move | move | ) | [inline, static] |
move_probability/feature.h の 1038 行で定義されています。
参照先 osl::Move::ptype().
static bool osl::move_probability::BreakThreatmate::isOpeningKingRoad | ( | Move | move, | |
Square | king | |||
) | [inline, static] |
move_probability/feature.h の 1042 行で定義されています。
参照先 osl::Move::from(), osl::Move::isDrop(), と osl::Square::isNeighboring8().
double osl::move_probability::BreakThreatmate::match | ( | const StateInfo & | info, | |
const MoveInfo & | move, | |||
int | offset, | |||
const double * | w | |||
) | const [inline, virtual] |
osl::move_probability::Featureを実装しています。
move_probability/feature.h の 1080 行で定義されています。
参照先 osl::captured(), osl::Square::index(), osl::Move::isNormal(), osl::Piece::isPiece(), osl::SimpleState::kingSquare(), osl::move_probability::MoveInfo::move, osl::move_probability::StateInfo::pattern_cache, osl::SimpleState::pieceOnBoard(), osl::move_probability::MoveInfo::player, osl::Piece::ptype(), osl::Move::ptype(), osl::PTYPE_SIZE, osl::Piece::ptypeO(), osl::PTYPEO_EDGE, osl::ptypeOIndex(), osl::CArray< T, Capacity >::size(), osl::Piece::square(), osl::move_probability::StateInfo::state, osl::move_probability::StateInfo::threatmate_move, と osl::Move::to().