圧縮していない moveの表現 . [詳細]
#include <basic_type.h>
Public メソッド | |
int | intValue () const |
unsigned int | hash () const |
駒を取らない手を [0, 16305] にmap | |
Move () | |
bool | isNormal () const |
INVALID でも PASS でもない. | |
bool | isPass () const |
Move (Square from, Square to, Ptype ptype, Ptype capture_ptype, bool is_promote, Player player) | |
移動 | |
Move (Square to, Ptype ptype, Player player) | |
drop | |
Move16 | toMove16 () const |
const Square | from () const |
const Square | to () const |
unsigned int | fromTo () const |
fromとtoをまとめて同一性の判定など | |
int | promoteMask () const |
pieceに使うためのmaskなので | |
bool | isPromotion () const |
bool | isCapture () const |
bool | isCaptureOrPromotion () const |
bool | isDrop () const |
bool | isPawnDrop () const |
Ptype | ptype () const |
PtypeO | ptypeO () const |
移動後のPtype, i.e., 成る手だった場合成った後 | |
PtypeO | oldPtypeO () const |
移動前のPtypeO, i.e., 成る手だった場合成る前 | |
Ptype | oldPtype () const |
移動前のPtype, i.e., 成る手だった場合成る前 | |
Ptype | capturePtype () const |
PtypeO | capturePtypeO () const |
PtypeO | capturePtypeOSafe () const |
Player | player () const |
bool | isValid () const |
bool | isInvalid () const |
state に apply 可能でない場合にtrue | |
bool | isValidOrPass () const |
Move | newFrom (Square new_from) const |
Move | newAddFrom (Square new_from) const |
const Move | newAddCapture (Piece capture) const |
no capture moveからcapture moveを作る | |
const Move | newCapture (Piece capture) const |
const Move | newCapture (Ptype capture) const |
const Move | unpromote () const |
promote moveからunpromote moveを作る | |
const Move | promote () const |
unpromote moveからpromote moveを作る | |
Move | newAddTo (Offset o) const |
moveのtoをoffsetだけ変える. 元のtoが0以外でも使える | |
Move | newAddTo (Square sq) const |
つくってあったmoveの雛形のsquareをsetする. mのtoは0 | |
Move | newAddPtype (Ptype newPtype) const |
作ってあったPTYPE_EMPTYのひな形のPTYPEをsetする | |
template<Player P> | |
bool | ignoreUnpromote () const |
合法手ではあるが,打歩詰め絡み以外では有利にはならない手. | |
bool | ignoreUnpromote () const |
template<Player P> | |
bool | hasIgnoredUnpromote () const |
MoveをunpromoteするとcutUnpromoteなMoveになる. | |
bool | hasIgnoredUnpromote () const |
const Move | rotate180 () const |
Static Public メソッド | |
static const Move | makeDirect (int value) |
static const Move | PASS (Player P) |
static const Move | INVALID () |
static const Move | DeclareWin () |
static const Move | fromMove16 (Move16, const SimpleState &) |
template<Player P> | |
static bool | ignoreUnpromote (Ptype ptype, Square from, Square to) |
Static Public 変数 | |
static const int | BitOffsetPromote = Piece::BitOffsetMovePromote |
static const unsigned int | MaxUniqMoves = 600 |
一局面辺りの合法手の最大値 重複して手を生成することがある場合は,600では不足かもしれない | |
Private 型 | |
enum | { INVALID_VALUE = (1<<8), DECLARE_WIN = (2<<8), BLACK_PASS = 0, WHITE_PASS = (-1)<<28 } |
Private メソッド | |
Move (int value) | |
void | init (Square from, Square to, Ptype ptype, Ptype capture_ptype, bool is_promote, Player player) |
Private 変数 | |
int | move |
圧縮していない moveの表現 .
Pieceとpromotepをそろえる -> 変える. 下位から 2009/12/10から
basic_type.h の 1051 行で定義されています。
anonymous enum [private] |
basic_type.h の 1060 行で定義されています。
osl::Move::Move | ( | int | value | ) | [inline, explicit, private] |
basic_type.h の 1057 行で定義されています。
osl::Move::Move | ( | ) | [inline] |
basic_type.h の 1084 行で定義されています。
参照元 DeclareWin(), fromMove16(), INVALID(), makeDirect(), PASS(), と rotate180().
osl::Move::Move | ( | Square | from, | |
Square | to, | |||
Ptype | ptype, | |||
Ptype | capture_ptype, | |||
bool | is_promote, | |||
Player | player | |||
) | [inline] |
移動
basic_type.h の 1100 行で定義されています。
参照先 init(), osl::Square::isOnBoard(), isValid(), osl::Square::isValid(), と move_assert.
drop
basic_type.h の 1114 行で定義されています。
参照先 init(), osl::Square::isOnBoard(), isValid(), move_assert, osl::PTYPE_EMPTY, と osl::Square::STAND().
Ptype osl::Move::capturePtype | ( | ) | const [inline] |
basic_type.h の 1180 行で定義されています。
参照先 isNormal(), と move.
参照元 osl::move_probability::King5x5Ptype::addOne(), osl::checkmate::ProofPieces::attack(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::LibertyEstimator::attackH(), osl::rating::Threatmate::captureForKnightCheck(), capturePtypeO(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::LibertyEstimator::defenseH(), osl::eval::PtypeEvalTable::diffWithMove(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::progress::Effect5x3WithBonus::expect(), osl::progress::Effect5x3::expect(), osl::csa::fancyShow(), osl::rating::SendOffGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), hash(), osl::rating::Threatmate::isCandidate(), isCapture(), isValid(), osl::rating::PawnAttack::match(), osl::rating::Chase::match(), osl::rating::SendOff::match(), osl::move_probability::ThreatmateByCapture::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::ToEffect::match(), osl::move_probability::ContinueCapture::match(), osl::move_probability::CapturePtype::match(), osl::rating::ContinueCapture::match(), osl::rating::Karanari::matchGeneral(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::PieceStand::nextStand(), osl::book::OMove::OMove(), osl::operator<<(), osl::PieceStand::previousStand(), rotate180(), osl::psn::showXP(), osl::SimpleState::testValidityOtherThanEffect(), osl::progress::PtypeProgress::update(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::progress::ml::NewProgress::updateMain(), osl::progress::Effect5x3::updateStand(), osl::progress::ml::NewProgress::updateSub(), と osl::eval::ml::OpenMidEndingEval::updateSub().
PtypeO osl::Move::capturePtypeO | ( | ) | const [inline] |
basic_type.h の 1185 行で定義されています。
参照先 osl::alt(), capturePtype(), isCapture(), osl::newPtypeO(), と player().
参照元 capturePtypeOSafe(), osl::eval::PtypeEvalTable::diffWithMove(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::rating::Threatmate::isCandidate(), osl::progress::PtypeProgress::update(), と osl::NumEffectState::wasCheckEvasion().
PtypeO osl::Move::capturePtypeOSafe | ( | ) | const [inline] |
basic_type.h の 1189 行で定義されています。
参照先 capturePtypeO(), isCapture(), と osl::PTYPEO_EMPTY.
static const Move osl::Move::DeclareWin | ( | ) | [inline, static] |
basic_type.h の 1096 行で定義されています。
参照先 DECLARE_WIN, と Move().
参照元 osl::operator<<(), osl::usi::show(), osl::csa::show(), osl::usi::strToMove(), と osl::csa::strToMove().
const Square osl::Move::from | ( | ) | const [inline] |
basic_type.h の 1125 行で定義されています。
参照先 isInvalid(), isValidOrPass(), makeDirect(), move, と move_assert.
参照元 osl::move_probability::MoveInfo::adhocAdjustKeepCheckmateDefender(), osl::move_probability::MoveInfo::adhocAdjustSlider(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::FixedDepthSearcher::attack(), osl::checkmate::LibertyEstimator::attackH(), osl::checkmate::attackProofCost(), osl::ShouldPromoteCut::canIgnoreMove(), osl::eval::See::computeValue(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King25EmptySquareNoEffect::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::rating::PatternLong2::find(), osl::rating::PatternLong::find(), osl::move_probability::BlockLongFrom::findAll(), osl::eval::See::findEffectPiecesAfterMove(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::FromEffectGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), fromMove16(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), ignoreUnpromote(), osl::rating::PinAttack::index(), osl::rating::Open::index(), osl::SimpleState::isAlmostValidDrop(), osl::SimpleState::isAlmostValidMove(), osl::NumEffectState::isAlmostValidMove(), osl::rating::Threatmate::isCandidate(), osl::move_probability::BreakThreatmate::isDefendingThreatmate(), isDrop(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::move_classifier::MoveAdaptor< Classifier >::isMember(), osl::move_probability::BreakThreatmate::isOpeningKingRoad(), isValid(), osl::SimpleState::isValidMoveByRule(), osl::NumEffectState::makeMove(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::NumEffectState::makeUnmakeMove(), osl::rating::PinAttack::match(), osl::rating::Pattern::match(), osl::rating::AttackKing8::match(), osl::rating::RookDefense::match(), osl::rating::Chase::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::PatternBase< TestPromotable >::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::FromEffect::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::ContinueCapture::match(), osl::rating::ImmediateEscape::match(), osl::rating::PtypeAttacked::match(), osl::rating::FromEffect::match(), osl::rating::ContinueCapture::match(), osl::rating::Karanari::matchGeneral(), osl::rating::DefenseKing8::matchMove(), newAddFrom(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::book::OMove::OMove(), osl::rating::Check::openLong(), osl::operator<<(), rotate180(), osl::record::KisenWriter::save(), osl::eval::See::seeInternal(), osl::record::KanjiMove::selectCandidates(), osl::psn::show(), osl::ki2::show(), osl::csa::show(), osl::psn::showXP(), osl::move_probability::ToEffect::supportAttack(), osl::SimpleState::testValidityOtherThanEffect(), toMove16(), osl::progress::PtypeProgress::update(), osl::progress::Effect5x3WithBonus::update(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::KnightFork::updateSquares(), osl::eval::ml::OpenMidEndingEval::updateSub(), と osl::NumEffectState::wasCheckEvasion().
const osl::Move osl::Move::fromMove16 | ( | Move16 | move16, | |
const SimpleState & | state | |||
) | [static] |
basic_type.cc の 317 行で定義されています。
参照先 from(), osl::SquareCompressor::melt(), Move(), osl::MOVE16_NONE, osl::promote(), ptype(), to(), と osl::SimpleState::turn().
unsigned int osl::Move::fromTo | ( | ) | const [inline] |
unsigned int osl::Move::hash | ( | ) | const |
駒を取らない手を [0, 16305] にmap
basic_type.cc の 309 行で定義されています。
参照先 capturePtype(), intValue(), と osl::PTYPE_EMPTY.
bool osl::Move::hasIgnoredUnpromote | ( | ) | const [inline] |
MoveをunpromoteするとcutUnpromoteなMoveになる.
basic_type.h の 1309 行で定義されています。
参照先 osl::BLACK, isPromotion(), osl::PBISHOP, osl::PLANCE, player(), osl::PPAWN, osl::PROOK, ptype(), と to().
bool osl::Move::hasIgnoredUnpromote | ( | ) | const [inline] |
basic_type.h の 1322 行で定義されています。
参照先 osl::BLACK, と player().
static bool osl::Move::ignoreUnpromote | ( | Ptype | ptype, | |
Square | from, | |||
Square | to | |||
) | [inline, static] |
basic_type.h の 1280 行で定義されています。
参照先 osl::BISHOP, osl::BLACK, osl::Square::canPromote(), osl::LANCE, osl::PAWN, osl::ROOK, と osl::Square::y().
bool osl::Move::ignoreUnpromote | ( | ) | const [inline] |
bool osl::Move::ignoreUnpromote | ( | ) | const [inline] |
basic_type.h の 1301 行で定義されています。
参照先 osl::BLACK, と player().
int osl::Move::intValue | ( | ) | const [inline] |
basic_type.h の 1065 行で定義されています。
参照先 move.
参照元 osl::hash::HashKey128::add(), hash(), newAddCapture(), newAddFrom(), newAddPtype(), newAddTo(), newCapture(), newFrom(), osl::book::WMoveWeightMoveSort::operator()(), osl::book::WMoveMoveSort::operator()(), std::hash< osl::Move >::operator()(), osl::operator<(), osl::operator==(), promote(), と unpromote().
static const Move osl::Move::INVALID | ( | ) | [inline, static] |
bool osl::Move::isCapture | ( | ) | const [inline] |
basic_type.h の 1148 行で定義されています。
参照先 capturePtype(), と isNormal().
参照元 osl::checkmate::attackProofCost(), capturePtypeO(), capturePtypeOSafe(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandCombination::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), isCaptureOrPromotion(), newAddCapture(), osl::eval::ml::KnightFork::updateSquares(), と osl::NumEffectState::wasCheckEvasion().
bool osl::Move::isCaptureOrPromotion | ( | ) | const [inline] |
basic_type.h の 1149 行で定義されています。
参照先 isCapture(), と isPromotion().
bool osl::Move::isDrop | ( | ) | const [inline] |
basic_type.h の 1150 行で定義されています。
参照先 from(), isNormal(), と osl::Square::isPieceStand().
参照元 osl::move_probability::King5x5Ptype::addOne(), osl::move_probability::MoveInfo::adhocAdjustSlider(), osl::checkmate::ProofPieces::attack(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::Dfpn::attack(), osl::rating::BadLance::basicMatch(), osl::ShouldPromoteCut::canIgnoreAndNotDrop(), osl::ShouldPromoteCut::canIgnoreMove(), osl::checkmate::ProofNumberTable::countLiberty(), osl::move_probability::CoverFork::defending(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::Dfpn::defense(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::LibertyEstimator::defenseH(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandCombination::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::move_probability::BlockLong::findAll(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::FromEffectGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), ignoreUnpromote(), osl::rating::DropPtype::index(), osl::rating::PinAttack::index(), osl::rating::Open::index(), osl::rating::Threatmate::isCandidate(), osl::move_probability::BreakThreatmate::isDefendingThreatmate(), osl::move_classifier::ConditionAdaptor< Classifier >::isMember(), osl::move_probability::BreakThreatmate::isOpeningKingRoad(), isPawnDrop(), osl::checkmate::ProofDisproof::isPawnDropFoul(), osl::rating::LongTarget::isPromotable(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::rating::DropPtype::match(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::PawnAttack::match(), osl::rating::RookDefense::match(), osl::rating::Chase::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::BlockLongFrom::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::FromEffect::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::DropCaptured::match(), osl::move_probability::CheckFeature::match(), osl::rating::ImmediateEscape::match(), osl::rating::PtypeAttacked::match(), osl::rating::FromEffect::match(), osl::rating::DropCaptured::match(), osl::rating::DefenseKing8::matchDrop(), osl::rating::DefenseKing8::matchMove(), osl::move_probability::PawnAttack::matchPtype(), osl::PieceStand::nextStand(), osl::rating::Check::openLong(), osl::PieceStand::previousStand(), osl::checkmate::Dfpn::proofOracleAttack(), osl::record::KisenWriter::save(), osl::checkmate::FixedDepthSolverExt::SetProofPieces::setAttackLeaf(), osl::move_probability::MoveInfo::standIndex(), osl::record::KanjiMove::strToMove(), osl::move_probability::ToEffect::supportAttack(), toMove16(), osl::checkmate::Dfpn::ProofOracle::traceable(), osl::progress::PtypeProgress::update(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::KnightFork::updateSquares(), osl::progress::Effect5x3::updateStand(), osl::progress::ml::NewProgress::updateSub(), osl::eval::ml::OpenMidEndingEval::updateSub(), と osl::NumEffectState::wasCheckEvasion().
bool osl::Move::isInvalid | ( | ) | const [inline] |
state に apply 可能でない場合にtrue
basic_type.h の 1202 行で定義されています。
参照先 DECLARE_WIN, と move.
参照元 from(), osl::MoveLogProb::MoveLogProb(), osl::record::KisenFile::moves(), oldPtype(), oldPtypeO(), osl::operator<<(), player(), osl::record::KanjiPrint::print(), ptype(), ptypeO(), osl::ki2::show(), osl::csa::show(), osl::psn::showXP(), to(), と toMove16().
bool osl::Move::isNormal | ( | ) | const [inline] |
INVALID でも PASS でもない.
isValid()かどうかは分からない.
basic_type.h の 1088 行で定義されています。
参照先 move.
参照元 osl::move_probability::MoveInfo::adhocAdjustBreakThreatmate(), osl::checkmate::Dfpn::attack(), capturePtype(), osl::checkmate::Dfpn::defense(), osl::csa::fancyShow(), osl::book::BookInMemory::find(), osl::checkmate::Dfpn::findDagSource(), osl::rating::ChaseGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::checkmate::DualDfpn::findProof(), osl::move_probability::StateInfo::findShortThreatmate(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), osl::rating::ImmediateAddSupport::index(), osl::rating::BigramAttack::index(), osl::NumEffectState::isAlmostValidMove(), isCapture(), isDrop(), osl::checkmate::ProofDisproof::isPawnDropFoul(), isPromotion(), isValid(), osl::SimpleState::isValidMoveByRule(), osl::record::CsaFile::makeInfo(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::rating::PawnAttack::match(), osl::rating::Chase::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::BreakThreatmate::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::ImmediateEscape::match(), newAddFrom(), newFrom(), osl::PieceStand::nextStand(), osl::checkmate::FixedAttackHelper< P, SetPieces >::operator()(), osl::checkmate::ProofTreeDepthDfpn::orNode(), osl::usi::parse(), osl::kakinoki::KakinokiFile::parseLine(), osl::PieceStand::previousStand(), promote(), promoteMask(), osl::checkmate::Dfpn::proofOracleAttack(), osl::checkmate::Dfpn::proofOracleDefense(), osl::checkmate::ProofTreeDepthDfpn::retrievePV(), rotate180(), osl::usi::show(), osl::record::myshogi::show(), osl::ki2::show(), unpromote(), osl::NumEffectState::wasCheckEvasion(), と osl::checkmate::DualDfpn::writeRootHistory().
bool osl::Move::isPass | ( | ) | const [inline] |
basic_type.h の 1092 行で定義されています。
参照先 move.
参照元 osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::Promotion37::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::OpenMidEndingEval::expect(), isValidOrPass(), osl::record::CsaFile::makeInfo(), osl::NumEffectState::makeMove(), osl::NumEffectState::makeUnmakeMove(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::operator<<(), osl::RepetitionCounter::push(), rotate180(), osl::usi::show(), osl::ki2::show(), osl::csa::show(), osl::psn::showXP(), osl::eval::ml::OpenMidEndingEval::update(), と osl::progress::ml::NewProgress::updateSub().
bool osl::Move::isPawnDrop | ( | ) | const [inline] |
basic_type.h の 1151 行で定義されています。
bool osl::Move::isPromotion | ( | ) | const [inline] |
basic_type.h の 1147 行で定義されています。
参照先 BitOffsetPromote, isNormal(), と move.
参照元 osl::eval::PtypeEvalTable::diffWithMove(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::csa::fancyShow(), hasIgnoredUnpromote(), osl::checkmate::PawnCheckmateMoves::hasParingNoPromote(), isCaptureOrPromotion(), osl::SimpleState::isValidMoveByRule(), osl::move_probability::PatternBase< TestPromotable >::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::rating::Karanari::matchGeneral(), osl::book::OMove::OMove(), promote(), rotate180(), osl::record::KisenWriter::save(), osl::ki2::show(), osl::psn::showXP(), osl::record::KanjiMove::strToMove(), osl::SimpleState::testValidityOtherThanEffect(), toMove16(), unpromote(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), と osl::eval::ml::OpenMidEndingEval::updateSub().
bool osl::Move::isValid | ( | ) | const |
basic_type.cc の 246 行で定義されています。
参照先 capturePtype(), from(), isNormal(), osl::Square::isOnBoard(), osl::Square::isValid(), osl::KING, player(), ptype(), と to().
参照元 osl::checkmate::ProofPieces::attack(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::move_action::Store::dropMove(), osl::SimpleState::isAlmostValidMove(), osl::NumEffectState::isAlmostValidMove(), osl::SimpleState::isValidMove(), isValidOrPass(), osl::NumEffectState::makeUnmakeMove(), Move(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::operator<<(), osl::ki2::Ki2File::parseLine(), osl::move_action::Store::simpleMove(), と osl::move_action::Store::unknownMove().
bool osl::Move::isValidOrPass | ( | ) | const [inline] |
basic_type.h の 1205 行で定義されています。
参照元 from(), osl::MoveLogProb::MoveLogProb(), oldPtype(), ptype(), osl::RepetitionCounter::push(), と to().
static const Move osl::Move::makeDirect | ( | int | value | ) | [inline, static] |
basic_type.h の 1093 行で定義されています。
参照先 Move().
参照元 osl::move_generator::drop::checkSilver(), from(), osl::book::WinCountBook::moves(), newAddCapture(), newAddFrom(), newAddPtype(), newAddTo(), newCapture(), newFrom(), promote(), to(), と unpromote().
no capture moveからcapture moveを作る
basic_type.h の 1226 行で定義されています。
参照先 osl::Piece::intValue(), intValue(), isCapture(), と makeDirect().
参照元 osl::move_generator::piece_on_board::generateKingDir(), osl::move_generator::piece_on_board::generateLance(), osl::move_generator::piece_on_board::generateLong(), osl::move_generator::piece_on_board::generatePawn(), と osl::move_generator::piece_on_board::generateShort().
basic_type.h の 1215 行で定義されています。
参照先 from(), intValue(), isNormal(), makeDirect(), と osl::Square::uintValue().
作ってあったPTYPE_EMPTYのひな形のPTYPEをsetする
basic_type.h の 1274 行で定義されています。
参照先 intValue(), makeDirect(), ptype(), と osl::PTYPE_EMPTY.
つくってあったmoveの雛形のsquareをsetする. mのtoは0
basic_type.h の 1267 行で定義されています。
moveのtoをoffsetだけ変える. 元のtoが0以外でも使える
basic_type.h の 1260 行で定義されています。
参照先 osl::Offset::intValue(), intValue(), と makeDirect().
参照元 osl::move_generator::piece_on_board::generateKingDir(), osl::move_generator::piece_on_board::generateLance(), osl::move_generator::piece_on_board::generateLong(), osl::move_generator::piece_on_board::generateShort(), と osl::move_generator::drop::generateX().
basic_type.h の 1235 行で定義されています。
basic_type.h の 1207 行で定義されています。
参照先 intValue(), isNormal(), makeDirect(), と osl::Square::uintValue().
Ptype osl::Move::oldPtype | ( | ) | const [inline] |
移動前のPtype, i.e., 成る手だった場合成る前
basic_type.h の 1174 行で定義されています。
参照先 BitOffsetPromote, osl::getPtype(), isInvalid(), isValidOrPass(), move, と move_assert.
参照元 osl::checkmate::OracleAdjust::attack(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::rating::PtypeAttackedGroup::findMatch(), osl::move_probability::ToEffectLong::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::FromEffect::match(), osl::rating::PtypeAttacked::match(), osl::ki2::show(), osl::record::KanjiMove::strToMove(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::progress::ml::NewProgress::updateMain(), と osl::NumEffectState::wasCheckEvasion().
PtypeO osl::Move::oldPtypeO | ( | ) | const [inline] |
移動前のPtypeO, i.e., 成る手だった場合成る前
basic_type.h の 1168 行で定義されています。
参照先 BitOffsetPromote, isInvalid(), と move.
参照元 osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::SimpleState::isValidMoveByRule(), osl::move_probability::EscapeThreatened::match(), osl::rating::Karanari::matchGeneral(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), と osl::operator<<().
basic_type.h の 1094 行で定義されています。
参照先 Move().
参照元 osl::record::CsaFile::makeInfo(), rotate180(), osl::usi::strToMove(), と osl::csa::strToMove().
Player osl::Move::player | ( | ) | const [inline] |
basic_type.h の 1195 行で定義されています。
参照先 isInvalid(), と move.
参照元 osl::checkmate::OracleAdjust::attack(), osl::rating::BadLance::basicMatch(), osl::ShouldPromoteCut::canIgnoreAndNotDrop(), capturePtypeO(), osl::checkmate::ProofNumberTable::countLiberty(), osl::checkmate::CheckmateIfCapture::effectiveAttack(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::OpenMidEndingEval::expect(), osl::progress::Effect5x3WithBonus::expect(), osl::progress::Effect5x3::expect(), osl::rating::PatternLong2::find(), osl::rating::PatternLong::find(), osl::move_probability::BlockLongFrom::findAll(), osl::move_probability::BlockLong::findAll(), osl::checkmate::Dfpn::findDagSource(), osl::eval::See::findEffectPiecesAfterMove(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternLongGroup::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::BadLanceGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::ShadowEffectGroup::findMatch(), hasIgnoredUnpromote(), ignoreUnpromote(), osl::rating::Karanari::index(), osl::rating::Open::index(), osl::rating::BigramAttack::index(), osl::rating::BigramAttack::indexOfMove(), osl::SimpleState::isAlmostValidDrop(), osl::SimpleState::isAlmostValidMove(), osl::NumEffectState::isAlmostValidMove(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::rating::LongTarget::isPromotable(), isValid(), osl::SimpleState::isValidMove(), osl::SimpleState::isValidMoveByRule(), osl::NumEffectState::makeMove(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::NumEffectState::makeUnmakeMove(), osl::rating::RelativeKingX::makeX(), osl::rating::SquareY::makeY(), osl::rating::RelativeKingY::makeY(), osl::rating::PatternBlock::match(), osl::rating::LongTarget2::match(), osl::rating::LongTarget::match(), osl::rating::Pattern::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::BadLance::match(), osl::rating::RookDefense::match(), osl::move_probability::LureDefender::match(), osl::rating::ToSupported::match(), osl::rating::PtypeAttacked::match(), osl::rating::CheckmateIfCapture::match(), osl::rating::ShadowEffect2::match(), osl::rating::ShadowEffect1::match(), osl::rating::LongTarget::matchOtherThanPromotable(), osl::hash::HashKey::newMakeMove(), osl::checkmate::Dfpn::ProofOracle::newOracle(), osl::hash::HashKey::newUnmakeMove(), osl::checkmate::Dfpn::Tree::newVisit(), osl::rating::Pattern::nextSquare(), osl::PieceStand::nextStand(), osl::checkmate::Dfpn::Node::nextWhiteStand(), osl::book::OMove::OMove(), osl::rating::Check::openLong(), osl::operator<<(), osl::PathEncoding::popMove(), osl::PieceStand::previousStand(), osl::RepetitionCounter::push(), osl::PathEncoding::pushMove(), rotate180(), osl::record::KisenWriter::save(), osl::eval::See::see(), osl::ki2::show(), osl::csa::show(), osl::psn::showXP(), osl::checkmate::Dfpn::ProofOracle::traceable(), osl::eval::ml::OpenMidEndingEval::update(), osl::progress::Effect5x3::update(), osl::progress::ml::NewProgress::updateMain(), と osl::eval::ml::OpenMidEndingEval::updateSub().
const Move osl::Move::promote | ( | ) | const [inline] |
unpromote moveからpromote moveを作る
basic_type.h の 1251 行で定義されています。
参照先 BitOffsetPromote, osl::canPromote(), intValue(), isNormal(), isPromotion(), makeDirect(), move_assert, と ptype().
参照元 osl::move_generator::piece_on_board::generateLance(), osl::move_generator::piece_on_board::generateLong(), と osl::move_generator::piece_on_board::generateShort().
int osl::Move::promoteMask | ( | ) | const [inline] |
pieceに使うためのmaskなので
basic_type.h の 1143 行で定義されています。
参照先 BitOffsetPromote, isNormal(), と move.
参照元 osl::NumEffectState::makeMove(), osl::NumEffectState::makeUnmakeMove(), osl::operator<<(), と osl::psn::show().
Ptype osl::Move::ptype | ( | ) | const [inline] |
basic_type.h の 1155 行で定義されています。
参照先 isInvalid(), isValidOrPass(), move, と move_assert.
参照元 osl::move_probability::King5x5Ptype::addOne(), osl::checkmate::ProofPieces::attack(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::FixedDepthSearcher::attack(), osl::checkmate::Dfpn::attack(), osl::checkmate::attackProofCost(), osl::rating::BadLance::basicMatch(), osl::ShouldPromoteCut::canIgnoreMove(), osl::checkmate::ProofNumberTable::countLiberty(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::LibertyEstimator::defenseH(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::move_probability::BlockLong::findAll(), osl::rating::EscapePinGroup::findMatch(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternLongGroup::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::DefenseKing8Group::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::KingEscapeGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), fromMove16(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), hasIgnoredUnpromote(), osl::checkmate::PawnCheckmateMoves::hasParingNoPromote(), ignoreUnpromote(), osl::rating::RelativeKingY::index(), osl::rating::RelativeKingX::index(), osl::rating::DropPtype::index(), osl::rating::PinAttack::index(), osl::rating::Karanari::index(), osl::rating::ImmediateAddSupport::index(), osl::SimpleState::isAlmostValidDrop(), osl::move_probability::BreakThreatmate::isKingMove(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::move_classifier::MoveAdaptor< Classifier >::isMember(), isPawnDrop(), osl::checkmate::ProofDisproof::isPawnDropFoul(), isValid(), osl::SimpleState::isValidMoveByRule(), osl::rating::Threatmate::knight2Step(), osl::NumEffectState::makeMove(), osl::NumEffectState::makeUnmakeMove(), osl::rating::RelativeKingY::match(), osl::rating::RelativeKingX::match(), osl::rating::DropPtype::match(), osl::rating::EscapePin::match(), osl::rating::PinAttack::match(), osl::rating::PatternBlock::match(), osl::rating::PatternLong2::match(), osl::rating::PatternLong::match(), osl::rating::Pattern::match(), osl::rating::DefenseKing8::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::PawnAttack::match(), osl::rating::Chase::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::ThreatmateByCapture::match(), osl::move_probability::CoverFork::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::SendOff::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::RookAttack::match(), osl::move_probability::BishopAttack::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::AddEffectLong::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::PatternBase< TestPromotable >::match(), osl::move_probability::ToEffect::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::DropCaptured::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::CheckFeature::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::KingEscape::match(), osl::rating::ImmediateEscape::match(), osl::rating::DropCaptured::match(), osl::rating::DefenseKing8::matchMove(), newAddPtype(), osl::PieceStand::nextStand(), osl::book::OMove::OMove(), osl::operator<<(), osl::PieceStand::previousStand(), promote(), osl::checkmate::Dfpn::proofOracleAttack(), rotate180(), osl::record::KisenWriter::save(), osl::checkmate::FixedDepthSolverExt::SetProofPieces::setAttackLeaf(), osl::psn::show(), osl::csa::show(), osl::psn::showXP(), osl::move_probability::MoveInfo::standIndex(), osl::SimpleState::testValidityOtherThanEffect(), toMove16(), osl::checkmate::Dfpn::ProofOracle::traceable(), unpromote(), osl::progress::Effect5x3::update(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::KnightFork::updateSquares(), osl::progress::Effect5x3::updateStand(), osl::progress::ml::NewProgress::updateSub(), osl::eval::ml::OpenMidEndingEval::updateSub(), と osl::NumEffectState::wasCheckEvasion().
PtypeO osl::Move::ptypeO | ( | ) | const [inline] |
移動後のPtype, i.e., 成る手だった場合成った後
basic_type.h の 1162 行で定義されています。
参照先 isInvalid(), と move.
参照元 osl::move_probability::MoveInfo::adhocAdjustKeepCheckmateDefender(), osl::move_probability::KingBlockade::blockAll(), osl::eval::See::computeValue(), osl::move_probability::CoverFork::defending(), osl::eval::PtypeEvalTable::diffWithMove(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::move_probability::StateInfo::findShortThreatmate(), osl::rating::PinAttack::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::Threatmate::isCandidate(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::move_probability::BreakThreatmate::isDefendingThreatmate(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::Chase::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::rating::ImmediateEscape::match(), osl::rating::DefenseKing8::matchDrop(), osl::rating::Karanari::matchGeneral(), osl::rating::DefenseKing8::matchMove(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::operator<<(), と osl::progress::PtypeProgress::update().
const osl::Move osl::Move::rotate180 | ( | ) | const |
basic_type.cc の 262 行で定義されています。
参照先 osl::alt(), capturePtype(), from(), isNormal(), isPass(), isPromotion(), Move(), PASS(), player(), ptype(), と to().
const Square osl::Move::to | ( | ) | const [inline] |
basic_type.h の 1132 行で定義されています。
参照先 isInvalid(), isValidOrPass(), makeDirect(), move, と move_assert.
参照元 osl::move_probability::King5x5Ptype::addOne(), osl::move_probability::AddEffectLong::addOne(), 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::checkmate::OracleAdjust::attack(), osl::checkmate::FixedDepthSearcher::attack(), osl::checkmate::LibertyEstimator::attackH(), osl::checkmate::attackProofCost(), osl::move_probability::KingBlockade::blockAll(), osl::checkmate::Dfpn::blockingSimulation(), osl::ShouldPromoteCut::canIgnoreMove(), osl::rating::Threatmate::captureForKnightCheck(), osl::eval::See::computeValue(), osl::checkmate::ProofNumberTable::countLiberty(), osl::move_probability::CoverFork::defending(), osl::checkmate::Dfpn::defense(), osl::checkmate::LibertyEstimator::defenseH(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King25EmptySquareNoEffect::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::rating::PatternLong2::find(), osl::rating::PatternBlock::find(), osl::rating::PatternLong::find(), osl::move_probability::BlockLong::findAll(), osl::eval::See::findEffectPiecesAfterMove(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::BadLanceGroup::findMatch(), osl::rating::BlockGroup::findMatch(), osl::rating::SendOffGroup::findMatch(), osl::rating::TakeBackGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::ShadowEffectGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::move_probability::StateInfo::findShortThreatmate(), fromMove16(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), hasIgnoredUnpromote(), ignoreUnpromote(), osl::rating::PinAttack::index(), osl::rating::Karanari::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::BigramAttack::indexOfMove(), osl::SimpleState::isAlmostValidDrop(), osl::SimpleState::isAlmostValidMove(), osl::NumEffectState::isAlmostValidMove(), osl::rating::Threatmate::isCandidate(), osl::NumEffectState::isConsistent(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::move_probability::BreakThreatmate::isDefendingThreatmate(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::move_classifier::MoveAdaptor< Classifier >::isMember(), osl::rating::LongTarget::isPromotable(), isValid(), osl::SimpleState::isValidMoveByRule(), osl::rating::Threatmate::knight2Step(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::NumEffectState::makeMove(), osl::NumEffectState::makeUnmakeMove(), osl::rating::SquareX::makeX(), osl::rating::RelativeKingX::makeX(), osl::rating::SquareY::makeY(), osl::rating::RelativeKingY::makeY(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::PawnAttack::match(), osl::rating::BadLance::match(), osl::rating::RookDefense::match(), osl::rating::Chase::match(), osl::rating::Block::match(), osl::rating::SendOff::match(), osl::rating::TakeBack2::match(), osl::rating::TakeBack::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::SendOff::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::RookAttack::match(), osl::move_probability::BishopAttack::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::PatternBase< TestPromotable >::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::ToEffect::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::SeeFeature::match(), osl::move_probability::TakeBackFeature::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::ImmediateEscape::match(), osl::rating::ToSupported::match(), osl::rating::CheckmateIfCapture::match(), osl::rating::ShadowEffect2::match(), osl::rating::ShadowEffect1::match(), osl::rating::DefenseKing8::matchDrop(), osl::rating::Karanari::matchGeneral(), osl::rating::DefenseKing8::matchMove(), osl::move_probability::PawnAttack::matchPtype(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::rating::Pattern::nextSquare(), osl::book::OMove::OMove(), osl::operator<<(), osl::record::KanjiPrint::print(), osl::checkmate::Dfpn::proofOracleDefense(), rotate180(), osl::record::KisenWriter::save(), osl::eval::See::seeInternal(), osl::psn::show(), osl::record::myshogi::show(), osl::ki2::show(), osl::csa::show(), osl::psn::showXP(), osl::move_probability::CheckFeature::sign(), osl::record::KanjiMove::strToMove(), osl::kakinoki::strToMove(), osl::SimpleState::testValidityOtherThanEffect(), toMove16(), osl::progress::PtypeProgress::update(), osl::progress::Effect5x3WithBonus::update(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::KnightFork::updateSquares(), osl::eval::ml::OpenMidEndingEval::updateSub(), と osl::NumEffectState::wasCheckEvasion().
osl::Move16 osl::Move::toMove16 | ( | ) | const |
basic_type.cc の 336 行で定義されています。
参照先 osl::SquareCompressor::compress(), from(), isDrop(), isInvalid(), isPromotion(), ptype(), と to().
const Move osl::Move::unpromote | ( | ) | const [inline] |
promote moveからunpromote moveを作る
basic_type.h の 1243 行で定義されています。
参照先 BitOffsetPromote, intValue(), isNormal(), osl::isPromoted(), isPromotion(), makeDirect(), move_assert, と ptype().
const int osl::Move::BitOffsetPromote = Piece::BitOffsetMovePromote [static] |
basic_type.h の 1054 行で定義されています。
参照元 init(), isPromotion(), oldPtype(), oldPtypeO(), promote(), promoteMask(), と unpromote().
const unsigned int osl::Move::MaxUniqMoves = 600 [static] |
一局面辺りの合法手の最大値 重複して手を生成することがある場合は,600では不足かもしれない
basic_type.h の 1071 行で定義されています。
int osl::Move::move [private] |
basic_type.h の 1056 行で定義されています。
参照元 capturePtype(), from(), fromTo(), init(), intValue(), isInvalid(), isNormal(), isPass(), isPromotion(), oldPtype(), oldPtypeO(), player(), promoteMask(), ptype(), ptypeO(), と to().