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