圧縮していない moveの表現 . More...
#include <move.h>
Public Member Functions | |
int | intValue () const |
unsigned int | hash () const |
駒を取らない手を [0, 16305] にmap More... | |
Move () | |
bool | isNormal () const |
INVALID でも PASS でもない. More... | |
bool | isPass () const |
Move (Square from, Square to, Ptype ptype, Ptype capture_ptype, bool is_promote, Player player) | |
移動 More... | |
Move (Square to, Ptype ptype, Player player) | |
drop More... | |
Move16 | toMove16 () const |
const Square | from () const |
const Square | to () const |
unsigned int | fromTo () const |
fromとtoをまとめて同一性の判定など More... | |
int | promoteMask () const |
pieceに使うためのmaskなので More... | |
bool | isPromotion () const |
bool | isCapture () const |
bool | isCaptureOrPromotion () const |
bool | isDrop () const |
bool | isPawnDrop () const |
Ptype | ptype () const |
PtypeO | ptypeO () const |
移動後のPtype, i.e., 成る手だった場合成った後 More... | |
PtypeO | oldPtypeO () const |
移動前のPtypeO, i.e., 成る手だった場合成る前 More... | |
Ptype | oldPtype () const |
移動前のPtype, i.e., 成る手だった場合成る前 More... | |
Ptype | capturePtype () const |
PtypeO | capturePtypeO () const |
PtypeO | capturePtypeOSafe () const |
Player | player () const |
bool | isValid () const |
bool | isInvalid () const |
state に apply 可能でない場合にtrue More... | |
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を作る More... | |
const Move | newCapture (Piece capture) const |
const Move | newCapture (Ptype capture) const |
const Move | unpromote () const |
promote moveからunpromote moveを作る More... | |
const Move | promote () const |
unpromote moveからpromote moveを作る More... | |
Move | newAddTo (Offset o) const |
moveのtoをoffsetだけ変える. 元のtoが0以外でも使える More... | |
Move | newAddTo (Square sq) const |
つくってあったmoveの雛形のsquareをsetする. mのtoは0 More... | |
Move | newAddPtype (Ptype newPtype) const |
作ってあったPTYPE_EMPTYのひな形のPTYPEをsetする More... | |
template<Player P> | |
bool | ignoreUnpromote () const |
合法手ではあるが,打歩詰め絡み以外では有利にはならない手. More... | |
bool | ignoreUnpromote () const |
template<Player P> | |
bool | hasIgnoredUnpromote () const |
MoveをunpromoteするとcutUnpromoteなMoveになる More... | |
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 state::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では不足かもしれない More... | |
Private Types | |
enum | { INVALID_VALUE = (1<<8), DECLARE_WIN = (2<<8), BLACK_PASS = 0, WHITE_PASS = (-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から
|
private |
|
inline |
Definition at line 88 of file move.h.
Referenced by DeclareWin(), INVALID(), makeDirect(), and PASS().
|
inline |
移動
Definition at line 104 of file move.h.
References init(), osl::Square::isOnBoard(), osl::Square::isValid(), isValid(), and move_assert.
drop
Definition at line 118 of file move.h.
References init(), osl::Square::isOnBoard(), isValid(), move_assert, osl::PTYPE_EMPTY, and osl::Square::STAND().
|
inline |
Definition at line 184 of file move.h.
References isNormal(), move, and result.
Referenced by osl::move_probability::King5x5Ptype::addOne(), osl::ntesuki::NtesukiTable::allocateWithMove(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::ProofPieces::attack(), osl::checkmate::LibertyEstimator::attackH(), osl::search::QuiescenceGenerator< P >::attackKing8(), osl::search::QuiescenceGenerator< P >::attackToPinned(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::ntesuki::NtesukiRecord::calcProofPiecesOr(), osl::rating::Threatmate::captureForKnightCheck(), capturePtypeO(), osl::search::QuiescenceGenerator< P >::check(), osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::LibertyEstimator::defenseH(), osl::eval::PieceEval::diffWithMove(), osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::eval::ppair::PiecePairWithStand< PiecePairPieceTable >::diffWithUpdate(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::endgame::AttackDefense::expect(), osl::progress::Effect5x3::expect(), osl::progress::Effect5x3WithBonus::expect(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::eval::MinorPieceBonus::expect(), osl::record::csa::fancyShow(), osl::rating::SendOffGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::search::BigramKillerMove::getMove(), osl::rating::Threatmate::isCandidate(), isCapture(), osl::search::FirstMoveThreatmate::isMember(), isValid(), osl::rating::ContinueCapture::match(), osl::rating::SendOff::match(), osl::move_probability::CapturePtype::match(), osl::rating::Chase::match(), osl::move_probability::ContinueCapture::match(), osl::rating::PawnAttack::match(), osl::move_probability::ToEffect::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::ThreatmateByCapture::match(), osl::rating::Karanari::matchGeneral(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::search::AlphaBeta2Tree< EvalT >::nextMove(), osl::PieceStand::nextStand(), osl::record::opening::OMove::OMove(), osl::move_order::CaptureEstimation::operator()(), osl::operator<<(), osl::threatmate::KfendPredictor::predict(), osl::threatmate::RichPredictor::predict(), osl::threatmate::TreePredictor::predict(), osl::threatmate::MlPredictor::predict(), osl::PieceStand::previousStand(), osl::threatmate::TreePredictor::probability(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta3::seePlusLight(), osl::ntesuki::NtesukiRecord::setDisproofPieces(), osl::record::psn::showXP(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::state::SimpleState::testValidityOtherThanEffect(), osl::progress::PtypeProgress::update(), osl::eval::endgame::AttackDefense::update(), osl::eval::MinorPieceBonus::update(), osl::eval::PieceEval::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::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(), and osl::search::QuiescenceGenerator< P >::utilizePromoted().
|
inline |
Definition at line 189 of file move.h.
References osl::alt(), capturePtype(), isCapture(), osl::newPtypeO(), and player().
Referenced by osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), capturePtypeOSafe(), osl::eval::PieceEval::diffWithMove(), osl::eval::ppair::PiecePairWithStand< PiecePairPieceTable >::diffWithUpdate(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::eval::endgame::AttackDefense::expect(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::importantMove(), osl::rating::Threatmate::isCandidate(), osl::progress::PtypeProgress::update(), osl::eval::endgame::AttackDefense::update(), osl::eval::PieceEval::update(), and osl::state::NumEffectState::wasCheckEvasion().
|
inline |
Definition at line 193 of file move.h.
References capturePtypeO(), isCapture(), and osl::PTYPEO_EMPTY.
Referenced by osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), and osl::eval::PieceEval::expect().
|
inlinestatic |
Definition at line 100 of file move.h.
References DECLARE_WIN, and Move().
Referenced by osl::operator<<(), osl::game_playing::CsaClient::processComputerMove(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), and osl::game_playing::SearchPlayer::selectBestMoveInTime().
|
inline |
Definition at line 129 of file move.h.
References isInvalid(), isValidOrPass(), osl::Square::makeDirect(), move, move_assert, and result.
Referenced by osl::search::HistoryTable::add(), osl::search::MoveGenerator::addCapture(), osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::FixedDepthSearcher2::attack(), osl::checkmate::FixedDepthSearcher::attack(), osl::checkmate::LibertyEstimator::attackH(), osl::search::QuiescenceGenerator< P >::attackMajorPieceZerothSelection(), osl::checkmate::attackProofCost(), osl::search::QuiescenceGenerator< P >::attackSilverWithPawn(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::search::ShouldPromoteCut::canIgnoreMove(), osl::search::StateElements::canReject(), osl::search::QuiescenceGenerator< P >::check(), osl::search::HistoryTable::clear(), osl::eval::PieceEval::computeDiffAfterMove(), osl::eval::See::computeValue(), osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::search::QuiescenceGenerator< P >::escapeByMoveOnly(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::search::QuiescenceGenerator< P >::escapeNormalPiece(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::King25EmptySquareNoEffect::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::eval::endgame::AttackDefense::expect(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::rating::PatternLong::find(), osl::rating::PatternLong2::find(), osl::move_probability::BlockLongFrom::findAll(), osl::search::BreakThreatmate::findBlockLong(), osl::eval::See::findEffectPiecesAfterMove(), osl::eval::TakeBackValue::findEffectPiecesAfterMove(), osl::rating::FromEffectGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::search::BreakThreatmate::generate(), osl::search::BreakThreatmate::generateAddEffect(), osl::search::MoveGenerator::generateAll(), osl::checkmate::FixedDepthSearcher::generateBlockingWhenLiberty0(), osl::checkmate::FixedDepthSearcher2::generateBlockingWhenLiberty0(), osl::checkmate::Dfpn::generateCheck(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::search::MoveGenerator::generateTakeBack(), osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), osl::search::BigramKillerMove::getMove(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::checkmate::FixedDepthSearcher2::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher::hasCheckmateWithGuide(), ignoreUnpromote(), osl::importantMove(), osl::rating::PinAttack::index(), osl::rating::Open::index(), is_safe_move(), osl::state::SimpleState::isAlmostValidDrop(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::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::ntesuki::NtesukiSimulationSearcher::isSafeMove(), isValid(), osl::state::SimpleState::isValidMoveByRule(), osl::state::NumEffectState::makeMove(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::state::NumEffectState::makeUnmakeMove(), osl::rating::FromEffect::match(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::PtypeAttacked::match(), osl::rating::Pattern::match(), osl::rating::ImmediateEscape::match(), osl::rating::ContinueCapture::match(), osl::rating::Chase::match(), osl::move_probability::ContinueCapture::match(), osl::move_probability::SquareY::match(), osl::rating::RookDefense::match(), osl::move_probability::SquareX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::PatternBase< TestPromotable >::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::EscapeThreatened::match(), osl::rating::Karanari::matchGeneral(), osl::rating::DefenseKing8::matchMove(), newAddFrom(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::record::opening::OMove::OMove(), osl::rating::Check::openLong(), osl::search::OrderSpecifiedPiece::operator()(), osl::operator<<(), osl::search::MoveMarker::pieceIndex(), osl::search::QuiescenceGenerator< P >::promote(), osl::record::OKisenStream::save(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::eval::See::seeInternal(), osl::record::KanjiMove::selectCandidates(), osl::ntesuki::NtesukiMoveGenerator::setOrder(), osl::record::psn::show(), osl::record::csa::show(), osl::record::ki2::show(), osl::record::psn::showXP(), osl::move_probability::ToEffect::supportAttack(), osl::search::QuiescenceSearch2< EvalT >::takeBackOrChase(), osl::state::SimpleState::testValidityOtherThanEffect(), osl::progress::PtypeProgress::update(), osl::eval::endgame::AttackDefense::update(), osl::progress::Effect5x3WithBonus::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::KnightFork::updateSquares(), osl::eval::ml::OpenMidEndingEval::updateSub(), osl::search::QuiescenceGenerator< P >::utilizePromoted(), osl::search::StateElements::validCaptureMove(), osl::search::StateElements::validSimpleMove(), osl::search::HistoryTable::value(), and osl::state::NumEffectState::wasCheckEvasion().
|
static |
Definition at line 84 of file move.cc.
References osl::SquareCompressor::melt(), osl::MOVE16_NONE, and osl::promote().
|
inline |
unsigned int osl::Move::hash | ( | ) | const |
|
inline |
MoveをunpromoteするとcutUnpromoteなMoveになる
Definition at line 313 of file move.h.
References osl::BLACK, isPromotion(), osl::PBISHOP, osl::PLANCE, player(), osl::PPAWN, osl::PROOK, ptype(), and to().
Referenced by osl::checkmate::Dfpn::generateCheck(), osl::checkmate::Dfpn::generateEscape(), and osl::move_generator::LegalMoves::generateWithFullUnpromotions().
|
inline |
Definition at line 326 of file move.h.
References osl::BLACK, and player().
|
inlinestatic |
Definition at line 284 of file move.h.
References osl::BISHOP, osl::BLACK, osl::Square::canPromote(), osl::LANCE, osl::PAWN, osl::ROOK, and osl::Square::y().
|
inline |
|
inline |
Definition at line 305 of file move.h.
References osl::BLACK, and player().
|
inlineprivate |
Definition at line 77 of file move.h.
References BitOffsetPromote, move, and osl::Square::uintValue().
Referenced by Move().
|
inline |
Definition at line 69 of file move.h.
References move.
Referenced by osl::hash::HashKey128::add(), newAddCapture(), newAddFrom(), newAddPtype(), newAddTo(), newCapture(), newFrom(), osl::record::opening::WMoveMoveSort::operator()(), osl::record::opening::WMoveWeightMoveSort::operator()(), osl::stl::hash< Move >::operator()(), osl::operator<(), osl::operator==(), promote(), and unpromote().
|
inlinestatic |
Definition at line 99 of file move.h.
References INVALID_VALUE, and Move().
Referenced by osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::LRUMoves::clear(), osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively(), osl::record::KisenUtils::convertMove(), osl::ntesuki::NtesukiMove::INVALID(), osl::game_playing::BookPlayer::moveByBook(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::Generator::nextMove(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::Generator::pickUpMove(), osl::search::SearchBase< EvalT, SimpleHashTable, CountRecorder, RealizationProbability >::recordLoseByCheckmate(), osl::game_playing::CuiClient::run(), osl::ntesuki::NtesukiSearcher::search(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::game_playing::SpeculativeSearchPlayer::selectBestMove(), osl::game_playing::RecordTracer::selectMove(), osl::game_playing::WinCountTracer::selectMove(), osl::game_playing::WeightTracer::selectMove(), osl::game_playing::DeterminateWeightTracer::selectMove(), osl::game_playing::WeightTracer::selectMoveAtRandom(), osl::ntesuki::NtesukiRecord::setUpDefenseNode(), osl::record::KanjiMove::strToMove(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::testMove(), and osl::game_playing::SpeculativeAllMoves::waitResult().
|
inline |
Definition at line 152 of file move.h.
References capturePtype(), isNormal(), and osl::PTYPE_EMPTY.
Referenced by osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), osl::checkmate::attackProofCost(), capturePtypeO(), capturePtypeOSafe(), osl::search::SacrificeCheck::count2(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::search::QuiescenceGenerator< P >::escapeByMoveOnly(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::search::QuiescenceGenerator< P >::escapeKing(), osl::search::QuiescenceGenerator< P >::escapeKingInTakeBack(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandCombination::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::BreakThreatmate::generateAddEffect(), osl::search::BreakThreatmate::generateOpenRoad(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::importantMove(), isCaptureOrPromotion(), newAddCapture(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::eval::ml::KnightFork::updateSquares(), osl::search::QuiescenceGenerator< P >::utilizePromoted(), and osl::state::NumEffectState::wasCheckEvasion().
|
inline |
Definition at line 153 of file move.h.
References isCapture(), and isPromotion().
Referenced by osl::search::QuiescenceGenerator< P >::attackMajorPieceZerothSelection(), osl::search::QuiescenceGenerator< P >::escapeNormalPiece(), osl::search::MoveGenerator::generateAll(), osl::move_probability::CoverPawn::match(), and osl::search::AlphaBeta3::reductionOk().
|
inline |
Definition at line 154 of file move.h.
References from(), isNormal(), and osl::Square::isPieceStand().
Referenced by osl::search::HistoryTable::add(), osl::search::MoveGenerator::addCapture(), osl::search::StateElements::addMyMove(), osl::move_probability::King5x5Ptype::addOne(), osl::search::StateElements::addOpMove(), osl::ntesuki::NtesukiSimulationSearcher::adjustMove(), adjustMove(), osl::ntesuki::NtesukiTable::allocateWithMove(), osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::ProofPieces::attack(), osl::checkmate::FixedDepthSearcher2::attack(), osl::checkmate::FixedDepthSearcher::attack(), osl::checkmate::Dfpn::attack(), osl::search::QuiescenceGenerator< P >::attackKing8(), osl::search::QuiescenceGenerator< P >::attackMajorPieceFirstSelection(), osl::search::QuiescenceGenerator< P >::attackMajorPieceZerothSelection(), osl::search::QuiescenceGenerator< P >::attackToPinned(), osl::rating::BadLance::basicMatch(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::search::ShouldPromoteCut::canIgnoreAndNotDrop(), osl::search::ShouldPromoteCut::canIgnoreMove(), osl::search::StateElements::canReject(), osl::search::QuiescenceGenerator< P >::check(), osl::search::HistoryTable::clear(), osl::checkmate::ProofNumberTable::countLiberty(), osl::move_probability::CoverFork::defending(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::Dfpn::defense(), osl::checkmate::FixedDepthSearcher2::defense(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher2::defenseEstimation(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::LibertyEstimator::defenseH(), osl::eval::ppair::PiecePairWithStand< PiecePairPieceTable >::diffWithUpdate(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::search::QuiescenceGenerator< P >::escapeKing(), osl::search::QuiescenceGenerator< P >::escapeKingInTakeBack(), osl::search::QuiescenceGenerator< P >::escapeNormalPiece(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandCombination::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::endgame::AttackDefense::expect(), osl::eval::PieceEval::expect(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::eval::MinorPieceBonus::expect(), osl::move_probability::BlockLong::findAll(), osl::search::BreakThreatmate::findBlockLong(), osl::rating::FromEffectGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::search::BreakThreatmate::generate(), osl::move_generator::LegalMoves::generate(), osl::ntesuki::generate_all_moves(), osl::search::BreakThreatmate::generateAddEffect(), osl::search::MoveGenerator::generateAll(), osl::checkmate::FixedDepthSearcher::generateBlockingWhenLiberty0(), osl::checkmate::FixedDepthSearcher2::generateBlockingWhenLiberty0(), osl::search::MoveGenerator::generateTakeBack(), osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), osl::checkmate::FixedDepthSearcher2::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), ignoreUnpromote(), osl::importantMove(), osl::rating::DropPtype::index(), osl::rating::PinAttack::index(), osl::rating::Open::index(), is_safe_move(), 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::ntesuki::NtesukiSimulationSearcher::isSafeMove(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::rating::FromEffect::match(), osl::rating::DropPtype::match(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::PtypeAttacked::match(), osl::rating::ImmediateEscape::match(), osl::move_probability::CheckFeature::match(), osl::rating::DropCaptured::match(), osl::annotate::CheckmateForEscape::match(), osl::rating::Chase::match(), osl::move_probability::DropCaptured::match(), osl::move_probability::SquareY::match(), osl::rating::RookDefense::match(), osl::move_probability::SquareX::match(), osl::rating::PawnAttack::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::BlockLongFrom::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::EscapeThreatened::match(), osl::rating::DefenseKing8::matchDrop(), osl::rating::DefenseKing8::matchMove(), osl::move_probability::PawnAttack::matchPtype(), osl::PieceStand::nextStand(), osl::rating::Check::openLong(), osl::search::MoveMarker::pieceIndex(), osl::PieceStand::previousStand(), osl::checkmate::Dfpn::proofOracleAttack(), osl::record::OKisenStream::save(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta3::seePlusLight(), osl::move_probability::MoveInfo::standIndex(), osl::record::KanjiMove::strToMove(), osl::move_probability::ToEffect::supportAttack(), osl::checkmate::Dfpn::ProofOracle::traceable(), osl::progress::PtypeProgress::update(), osl::eval::endgame::AttackDefense::update(), osl::eval::MinorPieceBonus::update(), osl::eval::PieceEval::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::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::search::HistoryTable::value(), and osl::state::NumEffectState::wasCheckEvasion().
|
inline |
state に apply 可能でない場合にtrue
Definition at line 206 of file move.h.
References DECLARE_WIN, and move.
Referenced by from(), osl::search::BigramKillerMove::getMove(), osl::record::KisenFile::getMoves(), osl::search::SimpleHashTable::getPV(), osl::MoveLogProb::MoveLogProb(), oldPtype(), oldPtypeO(), osl::operator<<(), player(), osl::record::KanjiPrint::print(), osl::search::MoveStackRejections::probe(), ptype(), ptypeO(), osl::search::AlphaBeta2Tree< EvalT >::quiesceStable(), osl::search::AlphaBeta3::search(), osl::search::SimpleHashRecord::setBestMove(), osl::search::SearchState2Core::setKillerMove(), osl::record::csa::show(), osl::record::ki2::show(), osl::record::psn::showXP(), osl::search::SearchRecorder::tableStoreLowerBound(), osl::search::SearchRecorder::tableStoreUpperBound(), and to().
|
inline |
INVALID でも PASS でもない.
isValid()かどうかは分からない.
Definition at line 92 of file move.h.
References move.
Referenced by osl::search::HistoryTable::add(), osl::search::BestMoves::add(), osl::move_probability::MoveInfo::adhocAdjustBreakThreatmate(), osl::search::AlphaBeta2Tree< EvalT >::alphaBetaSearchAfterMove(), osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::checkmate::Dfpn::attack(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), capturePtype(), osl::search::HistoryTable::clear(), osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively(), osl::checkmate::Dfpn::defense(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::search::QuiescenceGenerator< P >::escapeFromLastMoveOtherThanPawn(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::record::csa::fancyShow(), osl::record::opening::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::search::BreakThreatmate::generate(), osl::search::MoveGenerator::generateBreakThreatmate(), osl::search::KillerMoveTable::getMove(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::checkmate::FixedDepthSearcher2::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), osl::rating::BigramAttack::index(), osl::rating::ImmediateAddSupport::index(), osl::search::MoveGenerator::init(), osl::state::NumEffectState::isAlmostValidMove(), isCapture(), isDrop(), osl::checkmate::ProofDisproof::isPawnDropFoul(), isPromotion(), isValid(), osl::state::SimpleState::isValidMoveByRule(), osl::record::kakinokiParseLine(), make_PV(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::search::AlphaBeta3::makeMoveAndSearch(), osl::rating::ImmediateEscape::match(), osl::annotate::Vision3::match(), osl::rating::Chase::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::PawnAttack::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::EscapeThreatened::match(), osl::game_playing::BookPlayer::moveByBook(), newAddFrom(), newFrom(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::Generator::nextMove(), osl::search::AlphaBeta3::nextMove(), osl::PieceStand::nextStand(), osl::checkmate::FixedAttackHelper< P, SetPieces >::operator()(), osl::checkmate::ProofTreeDepthDfpn::orNode(), osl::search::AlphaBeta3::presearch(), osl::PieceStand::previousStand(), osl::search::MoveStackRejections::probe(), osl::game_playing::GnuShogiClient::processComputerMove(), osl::game_playing::CsaClient::processComputerMove(), promote(), promoteMask(), osl::checkmate::Dfpn::proofOracleAttack(), osl::checkmate::Dfpn::proofOracleDefense(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), osl::search::MoveGenerator::registerMove(), osl::checkmate::ProofTreeDepthDfpn::retrievePV(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::run(), search(), osl::game_playing::SearchPlayer::search(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta3::searchRoot(), osl::game_playing::BookPlayer::selectBestMove(), osl::game_playing::SpeculativeSearchPlayer::selectBestMove(), osl::game_playing::BookPlayer::selectBestMoveInTime(), osl::search::SimpleHashRecord::setAbsoluteValue(), osl::search::LRUMoves::setMove(), osl::game_playing::HistoryToTable::setPV(), osl::search::DualThreatmateState::setThreatmate(), osl::record::myshogi::show(), osl::record::usi::show(), osl::record::ki2::show(), osl::search::AlphaBeta2Tree< EvalT >::showPV(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::search::QuiescenceSearch2< EvalT >::staticValueWithThreat(), osl::search::QuiescenceSearch2< EvalT >::takeBackOrChase(), osl::search::SearchState2Core::tryThreatmate(), unpromote(), osl::search::SearchBase< EvalT, SimpleHashTable, CountRecorder, RealizationProbability >::validTableMove(), osl::search::HistoryTable::value(), osl::game_playing::SpeculativeAllMoves::waitResult(), osl::state::NumEffectState::wasCheckEvasion(), and osl::checkmate::DualDfpn::writeRootHistory().
|
inline |
Definition at line 96 of file move.h.
References move.
Referenced by osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::Promotion37::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::eval::PieceEval::expect(), osl::eval::ProgressEvalGeneral< OpeningEval >::expect(), osl::eval::ml::OpenMidEndingEval::expect(), isValidOrPass(), osl::state::NumEffectState::makeMove(), osl::search::SearchState2Core::makePV(), osl::state::NumEffectState::makeUnmakeMove(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::operator<<(), osl::search::MoveMarker::pieceIndex(), osl::search::AlphaBeta3::presearch(), osl::RepetitionCounter::push(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::SearchState2Core::setKillerMove(), osl::search::SearchState2::setKillerMove(), osl::search::BigramKillerMove::setMove(), osl::record::usi::show(), osl::record::csa::show(), osl::record::ki2::show(), osl::record::psn::showXP(), osl::search::QuiescenceSearch2< EvalT >::takeBackValue(), osl::eval::endgame::AttackDefense::update(), osl::eval::PieceEval::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::eval::ml::OpenMidEndingEval::update(), and osl::progress::ml::NewProgress::updateSub().
|
inline |
|
inline |
Definition at line 151 of file move.h.
References BitOffsetPromote, isNormal(), and move.
Referenced by osl::search::QuiescenceGenerator< P >::attackKing8(), osl::search::QuiescenceGenerator< P >::attackSilverWithPawn(), osl::search::QuiescenceGenerator< P >::attackToPinned(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::search::QuiescenceGenerator< P >::check(), osl::eval::PieceEval::diffWithMove(), osl::eval::ppair::PiecePairWithStand< PiecePairPieceTable >::diffWithUpdate(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::record::csa::fancyShow(), hasIgnoredUnpromote(), osl::checkmate::PawnCheckmateMoves::hasParingNoPromote(), isCaptureOrPromotion(), osl::state::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::record::opening::OMove::OMove(), osl::search::MoveMarker::pieceIndex(), promote(), osl::record::OKisenStream::save(), osl::record::ki2::show(), osl::record::psn::showXP(), osl::record::KanjiMove::strToMove(), osl::state::SimpleState::testValidityOtherThanEffect(), unpromote(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), and osl::eval::ml::OpenMidEndingEval::updateSub().
bool osl::Move::isValid | ( | ) | const |
Definition at line 14 of file move.cc.
References capturePtype(), from(), isNormal(), osl::Square::isOnBoard(), osl::isValid(), osl::Square::isValid(), osl::KING, player(), ptype(), and to().
Referenced by osl::ntesuki::NtesukiSimulationSearcher::adjustMove(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::ProofPieces::attack(), osl::ntesuki::NtesukiSimulationSearcher::attackForProof(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::FixedDepthSearcher2::defense(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher2::defenseEstimation(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::move_action::Store::dropMove(), is_safe_move(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::state::SimpleState::isValidMove(), isValidOrPass(), osl::game_playing::UsiResponse::ki2currentinfo(), osl::state::NumEffectState::makeUnmakeMove(), Move(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::operator<<(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::BigramKillerMove::setMove(), osl::search::KillerMoveTable::setMove(), osl::move_action::Store::simpleMove(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), and osl::move_action::Store::unknownMove().
|
inline |
Definition at line 209 of file move.h.
References isPass(), and isValid().
Referenced by from(), osl::MoveLogProb::MoveLogProb(), oldPtype(), ptype(), osl::RepetitionCounter::push(), osl::search::SearchRecorder::tableStoreLowerBound(), osl::search::SearchRecorder::tableStoreUpperBound(), and to().
|
inlinestatic |
Definition at line 97 of file move.h.
References Move().
Referenced by osl::move_generator::drop::checkSilver(), osl::record::opening::WinCountBook::getMoves(), newAddCapture(), newAddFrom(), newAddPtype(), newAddTo(), newCapture(), newFrom(), OpeningBookConverter::OpeningBookConverter(), promote(), show(), and unpromote().
no capture moveからcapture moveを作る
Definition at line 230 of file move.h.
References osl::Piece::intValue(), intValue(), isCapture(), and makeDirect().
Referenced by 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(), and osl::move_generator::piece_on_board::generateShort().
Definition at line 219 of file move.h.
References from(), intValue(), isNormal(), makeDirect(), result, and osl::Square::uintValue().
作ってあったPTYPE_EMPTYのひな形のPTYPEをsetする
Definition at line 278 of file move.h.
References intValue(), makeDirect(), ptype(), and osl::PTYPE_EMPTY.
moveのtoをoffsetだけ変える. 元のtoが0以外でも使える
Definition at line 264 of file move.h.
References osl::Offset::intValue(), intValue(), and makeDirect().
Referenced by 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(), and osl::move_generator::drop::generateX().
つくってあったmoveの雛形のsquareをsetする. mのtoは0
Definition at line 271 of file move.h.
References intValue(), makeDirect(), and osl::Square::uintValue().
Definition at line 235 of file move.h.
References osl::Piece::intValue(), intValue(), and makeDirect().
Referenced by osl::checkmate::OracleAdjust::attack(), osl::checkmate::FixedDepthSearcher2::hasCheckmateWithGuide(), and osl::checkmate::FixedDepthSearcher::hasCheckmateWithGuide().
Definition at line 239 of file move.h.
References osl::Piece::BitOffsetPtype, intValue(), and makeDirect().
Definition at line 211 of file move.h.
References intValue(), isNormal(), makeDirect(), result, and osl::Square::uintValue().
Referenced by osl::checkmate::OracleAdjust::attack().
|
inline |
移動前のPtype, i.e., 成る手だった場合成る前
Definition at line 178 of file move.h.
References BitOffsetPromote, osl::getPtype(), isInvalid(), isValidOrPass(), move, and move_assert.
Referenced by osl::checkmate::OracleAdjust::attack(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::search::BreakThreatmate::findBlockLong(), osl::rating::PtypeAttackedGroup::findMatch(), osl::search::BigramKillerMove::getMove(), osl::rating::PtypeAttacked::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::ToEffectLong::match(), osl::move_order::CheapPtype::operator()(), osl::move_order::CaptureEstimation::operator()(), osl::search::AlphaBeta3::seePlusLight(), osl::record::ki2::show(), osl::record::KanjiMove::strToMove(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::progress::ml::NewProgress::updateMain(), and osl::state::NumEffectState::wasCheckEvasion().
|
inline |
移動前のPtypeO, i.e., 成る手だった場合成る前
Definition at line 172 of file move.h.
References BitOffsetPromote, isInvalid(), move, and result.
Referenced by osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::eval::PieceEval::expect(), osl::state::SimpleState::isValidMoveByRule(), osl::move_probability::EscapeThreatened::match(), osl::rating::Karanari::matchGeneral(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::operator<<(), osl::eval::endgame::AttackDefense::update(), and osl::eval::PieceEval::update().
Definition at line 98 of file move.h.
References Move().
Referenced by osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), doMain(), osl::search::AlphaBeta2< EvalT >::findCheckmateInPV(), osl::ntesuki::NtesukiMoveGenerator::generate(), osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), osl::search::SearchState2Core::isThreatmateState(), main(), osl::state::HistoryState::makeMovePass(), osl::search::AlphaBeta2Tree< EvalT >::nextMove(), osl::search::AlphaBeta3::nextMove(), osl::search::SearchState2Core::popPass(), osl::search::SearchState2Core::pushPass(), qsearch(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), osl::search::AlphaBeta2Tree< EvalT >::quiesceStable(), rotate180(), run(), Analyzer::search(), osl::search::AlphaBeta3::searchRoot(), osl::ntesuki::NtesukiSearcher::selectMoveDefense(), osl::ntesuki::NtesukiRecord::setUpAttackNode(), test_file(), test_record(), and testWinOrLose().
|
inline |
Definition at line 199 of file move.h.
References isInvalid(), move, and result.
Referenced by osl::search::HistoryTable::add(), osl::ntesuki::NtesukiTable::allocateWithMove(), osl::search::AlphaBeta2Tree< EvalT >::alphaBetaSearchAfterMove(), osl::checkmate::OracleAdjust::attack(), osl::rating::BadLance::basicMatch(), osl::search::ShouldPromoteCut::canIgnoreAndNotDrop(), osl::search::StateElements::canReject(), capturePtypeO(), osl::search::HistoryTable::clear(), osl::eval::PieceEval::computeDiffAfterMove(), osl::eval::PieceEval::computeDiffAfterMoveForRP(), osl::checkmate::ProofNumberTable::countLiberty(), osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::checkmate::CheckmateIfCapture::effectiveAttack(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::progress::Effect5x3::expect(), osl::progress::Effect5x3WithBonus::expect(), osl::eval::ml::OpenMidEndingEval::expect(), osl::rating::PatternLong::find(), osl::rating::PatternLong2::find(), osl::move_probability::BlockLong::findAll(), osl::move_probability::BlockLongFrom::findAll(), osl::search::BreakThreatmate::findBlockLong(), osl::checkmate::Dfpn::findDagSource(), osl::eval::See::findEffectPiecesAfterMove(), osl::rating::AttackKing8Group::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::PatternLongGroup::findMatch(), osl::rating::ShadowEffectGroup::findMatch(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::BadLanceGroup::findMatch(), osl::ntesuki::NtesukiTable::findWithMove(), osl::ntesuki::NtesukiTable::findWithMoveConst(), osl::search::BreakThreatmate::generate(), hasIgnoredUnpromote(), ignoreUnpromote(), osl::rating::Karanari::index(), osl::rating::BigramAttack::index(), osl::rating::Open::index(), osl::rating::BigramAttack::indexOfMove(), osl::state::SimpleState::isAlmostValidDrop(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::rating::LongTarget::isPromotable(), isValid(), osl::state::SimpleState::isValidMove(), osl::state::SimpleState::isValidMoveByRule(), osl::state::NumEffectState::makeMove(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::state::NumEffectState::makeUnmakeMove(), osl::rating::RelativeKingX::makeX(), osl::rating::RelativeKingY::makeY(), osl::rating::SquareY::makeY(), osl::rating::CheckmateIfCapture::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::PtypeAttacked::match(), osl::rating::ShadowEffect1::match(), osl::rating::Pattern::match(), osl::rating::ToSupported::match(), osl::rating::ShadowEffect2::match(), osl::rating::LongTarget::match(), osl::rating::LongTarget2::match(), osl::rating::PatternBlock::match(), osl::rating::RookDefense::match(), osl::rating::BadLance::match(), osl::move_probability::LureDefender::match(), osl::rating::LongTarget::matchOtherThanPromotable(), osl::hash::HashKey::newMakeMove(), osl::checkmate::Dfpn::ProofOracle::newOracle(), osl::hash::HashKey::newUnmakeMove(), osl::checkmate::Dfpn::Tree::newVisit(), osl::search::AlphaBeta2Tree< EvalT >::NextMove< P >::NextMove(), osl::rating::Pattern::nextSquare(), osl::PieceStand::nextStand(), osl::checkmate::Dfpn::Node::nextWhiteStand(), osl::record::opening::OMove::OMove(), osl::rating::Check::openLong(), osl::move_order::CaptureEstimation::operator()(), osl::operator<<(), osl::PathEncoding::popMove(), osl::PieceStand::previousStand(), osl::search::MoveStackRejections::probe(), osl::RepetitionCounter::push(), osl::game_playing::SpeculativeSearchPlayer::pushMove(), osl::PathEncoding::pushMove(), osl::game_playing::GnuShogiClient::readAndProcessCommand(), osl::game_playing::GameState::rejectByStack(), run(), osl::record::OKisenStream::save(), osl::search::QuiescenceSearch2< EvalT >::search(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchInternal(), osl::search::QuiescenceSearch2< EvalT >::searchIteratively(), osl::eval::See::see(), osl::search::AlphaBeta3::seePlusLight(), osl::search::SearchState2Core::setKillerMove(), osl::search::BigramKillerMove::setMove(), osl::record::csa::show(), osl::record::ki2::show(), osl::record::psn::showXP(), osl::checkmate::Dfpn::ProofOracle::traceable(), osl::game_playing::WinCountTracer::update(), osl::game_playing::WeightTracer::update(), osl::progress::Effect5x3::update(), osl::eval::MinorPieceBonus::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::eval::ml::OpenMidEndingEval::update(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::OpenMidEndingEval::updateSub(), osl::search::SearchBase< EvalT, SimpleHashTable, CountRecorder, RealizationProbability >::validTableMove(), osl::search::HistoryTable::value(), osl::game_playing::SpeculativeAllMoves::waitResult(), and OpeningBookConverter::writeInNewFormat().
|
inline |
unpromote moveからpromote moveを作る
Definition at line 255 of file move.h.
References BitOffsetPromote, osl::canPromote(), intValue(), isNormal(), isPromotion(), makeDirect(), move_assert, and ptype().
Referenced by osl::move_generator::piece_on_board::generateLance(), osl::move_generator::piece_on_board::generateLong(), and osl::move_generator::piece_on_board::generateShort().
|
inline |
pieceに使うためのmaskなので
Definition at line 147 of file move.h.
References BitOffsetPromote, isNormal(), and move.
Referenced by osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::state::NumEffectState::makeMove(), osl::state::NumEffectState::makeUnmakeMove(), osl::move_order::Promotion::operator()(), osl::operator<<(), and osl::record::psn::show().
|
inline |
Definition at line 159 of file move.h.
References isInvalid(), isValidOrPass(), move, move_assert, and result.
Referenced by osl::search::HistoryTable::add(), osl::search::MoveGenerator::addCapture(), osl::search::StateElements::addMyMove(), osl::move_probability::King5x5Ptype::addOne(), osl::search::StateElements::addOpMove(), osl::ntesuki::NtesukiTable::allocateWithMove(), osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::ProofPieces::attack(), osl::checkmate::FixedDepthSearcher2::attack(), osl::checkmate::FixedDepthSearcher::attack(), osl::checkmate::Dfpn::attack(), osl::search::QuiescenceGenerator< P >::attackKing8(), osl::search::QuiescenceGenerator< P >::attackMajorPieceFirstSelection(), osl::search::QuiescenceGenerator< P >::attackMajorPieceSecondSelection(), osl::checkmate::attackProofCost(), osl::search::QuiescenceGenerator< P >::attackToPinned(), osl::rating::BadLance::basicMatch(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::search::ShouldPromoteCut::canIgnoreMove(), osl::search::QuiescenceGenerator< P >::check(), osl::search::HistoryTable::clear(), osl::search::SacrificeCheck::count2(), osl::checkmate::ProofNumberTable::countLiberty(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::FixedDepthSearcher2::defense(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher2::defenseEstimation(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::LibertyEstimator::defenseH(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::search::QuiescenceGenerator< P >::escapeFromLastMoveOtherThanPawn(), osl::search::QuiescenceGenerator< P >::escapeKing(), osl::search::QuiescenceGenerator< P >::escapeKingInTakeBack(), osl::search::QuiescenceGenerator< P >::escapeNormalPiece(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::QuiescenceSearch2< EvalT >::examineTakeBack2(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::eval::MinorPieceBonus::expect(), osl::move_probability::BlockLong::findAll(), osl::rating::AttackKing8Group::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::DefenseKing8Group::findMatch(), osl::rating::PatternLongGroup::findMatch(), osl::rating::EscapePinGroup::findMatch(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::KingEscapeGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::ntesuki::NtesukiTable::findWithMove(), osl::ntesuki::NtesukiTable::findWithMoveConst(), osl::search::BreakThreatmate::generate(), osl::search::BreakThreatmate::generateAddEffect(), osl::search::MoveGenerator::generateAll(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::search::MoveGenerator::generateTakeBack(), osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), osl::checkmate::FixedDepthSearcher2::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), hasIgnoredUnpromote(), osl::checkmate::PawnCheckmateMoves::hasParingNoPromote(), ignoreUnpromote(), osl::importantMove(), osl::rating::DropPtype::index(), osl::rating::Karanari::index(), osl::rating::PinAttack::index(), osl::rating::RelativeKingX::index(), osl::rating::RelativeKingY::index(), osl::rating::ImmediateAddSupport::index(), is_safe_move(), osl::state::SimpleState::isAlmostValidDrop(), osl::move_probability::BreakThreatmate::isKingMove(), osl::move_classifier::MoveAdaptor< Classifier >::isMember(), osl::search::FirstMoveThreatmate::isMember(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), isPawnDrop(), osl::checkmate::ProofDisproof::isPawnDropFoul(), osl::ntesuki::NtesukiSimulationSearcher::isSafeMove(), isValid(), osl::state::SimpleState::isValidMoveByRule(), osl::rating::Threatmate::knight2Step(), osl::state::NumEffectState::makeMove(), osl::state::NumEffectState::makeUnmakeMove(), osl::rating::DropPtype::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::PinAttack::match(), osl::rating::Pattern::match(), osl::rating::ImmediateEscape::match(), osl::move_probability::CheckFeature::match(), osl::rating::RelativeKingX::match(), osl::rating::DropCaptured::match(), osl::rating::EscapePin::match(), osl::rating::KingEscape::match(), osl::rating::RelativeKingY::match(), osl::rating::DefenseKing8::match(), osl::move_probability::CapturePtype::match(), osl::rating::PatternLong::match(), osl::rating::Chase::match(), osl::rating::PatternLong2::match(), osl::move_probability::DropCaptured::match(), osl::rating::PatternBlock::match(), osl::rating::ImmediateAddSupport::match(), osl::move_probability::SquareY::match(), osl::move_probability::SquareX::match(), osl::rating::PawnAttack::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::MoveFromOpposingSliders::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::AddEffectLong::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::BishopAttack::match(), osl::move_probability::RookAttack::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::SendOff::match(), osl::move_probability::LureDefender::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::DropAfterOpposingPawn::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::rating::DefenseKing8::matchMove(), newAddPtype(), osl::PieceStand::nextStand(), osl::record::opening::OMove::OMove(), osl::operator<<(), osl::search::MoveMarker::pieceIndex(), osl::threatmate::KfendPredictor::predict(), osl::threatmate::TreePredictor::predict(), osl::threatmate::MlPredictor::predict(), osl::PieceStand::previousStand(), osl::threatmate::TreePredictor::probability(), osl::search::QuiescenceGenerator< P >::promote(), promote(), osl::checkmate::Dfpn::proofOracleAttack(), osl::record::OKisenStream::save(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::record::psn::show(), osl::record::csa::show(), osl::record::psn::showXP(), osl::move_probability::MoveInfo::standIndex(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::state::SimpleState::testValidityOtherThanEffect(), osl::checkmate::Dfpn::ProofOracle::traceable(), unpromote(), osl::eval::endgame::AttackDefense::update(), osl::progress::Effect5x3::update(), osl::eval::MinorPieceBonus::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::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::search::HistoryTable::value(), and osl::state::NumEffectState::wasCheckEvasion().
|
inline |
移動後のPtype, i.e., 成る手だった場合成った後
Definition at line 166 of file move.h.
References isInvalid(), move, and result.
Referenced by osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), osl::search::QuiescenceGenerator< P >::attackMajorPieceZerothSelection(), osl::move_probability::KingBlockade::blockAll(), osl::search::StateElements::canReject(), osl::search::QuiescenceGenerator< P >::check(), osl::eval::PieceEval::computeDiffAfterMove(), osl::eval::See::computeValue(), osl::move_probability::CoverFork::defending(), osl::eval::PieceEval::diffWithMove(), osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::eval::ppair::PiecePairWithStand< PiecePairPieceTable >::diffWithUpdate(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::search::QuiescenceGenerator< P >::escapeFromLastMoveOtherThanPawn(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::eval::endgame::AttackDefense::expect(), osl::eval::PieceEval::expect(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::move_probability::StateInfo::findShortThreatmate(), osl::checkmate::Dfpn::generateCheck(), osl::importantMove(), osl::rating::PinAttack::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::Threatmate::isCandidate(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::move_probability::BreakThreatmate::isDefendingThreatmate(), osl::move_classifier::AttackDefenceAroundKing< P >::isMember(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::ImmediateEscape::match(), osl::rating::Chase::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::LureDefender::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::EscapeThreatened::match(), osl::rating::DefenseKing8::matchDrop(), osl::rating::Karanari::matchGeneral(), osl::rating::DefenseKing8::matchMove(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::operator<<(), osl::search::BigramKillerMove::operator[](), osl::search::BigramKillerMove::setMove(), osl::ntesuki::NtesukiMoveGenerator::setOrder(), osl::search::QuiescenceSearch2< EvalT >::takeBackOrChase(), osl::search::SearchState2Core::tryThreatmate(), osl::progress::PtypeProgress::update(), osl::eval::endgame::AttackDefense::update(), and osl::eval::PieceEval::update().
const osl::Move osl::Move::rotate180 | ( | ) | const |
Definition at line 30 of file move.cc.
References osl::alt(), and PASS().
|
inline |
Definition at line 136 of file move.h.
References isInvalid(), isValidOrPass(), osl::Square::makeDirect(), move, move_assert, and result.
Referenced by osl::search::HistoryTable::add(), osl::search::MoveGenerator::addCapture(), osl::search::StateElements::addMyMove(), osl::move_probability::AddEffectLong::addOne(), osl::move_probability::King5x5Ptype::addOne(), osl::search::StateElements::addOpMove(), osl::move_probability::MoveInfo::adhocAdjustBreakThreatmate(), osl::ntesuki::NtesukiSimulationSearcher::adjustMove(), adjustMove(), osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::FixedDepthSearcher2::attack(), osl::checkmate::FixedDepthSearcher::attack(), osl::checkmate::LibertyEstimator::attackH(), osl::search::QuiescenceGenerator< P >::attackKing8(), osl::search::QuiescenceGenerator< P >::attackMajorPieceFirstSelection(), osl::search::QuiescenceGenerator< P >::attackMajorPieceZerothSelection(), osl::checkmate::attackProofCost(), osl::search::QuiescenceGenerator< P >::attackToPinned(), osl::move_probability::KingBlockade::blockAll(), osl::checkmate::Dfpn::blockingSimulation(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::search::ShouldPromoteCut::canIgnoreMove(), osl::search::StateElements::canReject(), osl::rating::Threatmate::captureForKnightCheck(), osl::search::QuiescenceGenerator< P >::check(), osl::search::HistoryTable::clear(), osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively(), osl::eval::PieceEval::computeDiffAfterMove(), osl::eval::See::computeValue(), osl::search::SacrificeCheck::count2(), osl::checkmate::ProofNumberTable::countLiberty(), osl::move_probability::CoverFork::defending(), osl::checkmate::Dfpn::defense(), osl::checkmate::LibertyEstimator::defenseH(), osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::search::QuiescenceGenerator< P >::escapeByMoveOnly(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::search::QuiescenceGenerator< P >::escapeFromLastMoveOtherThanPawn(), osl::search::QuiescenceGenerator< P >::escapeKing(), osl::search::QuiescenceGenerator< P >::escapeKingInTakeBack(), osl::search::QuiescenceGenerator< P >::escapeNormalPiece(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::King25EmptySquareNoEffect::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::QuiescenceSearch2< EvalT >::examineTakeBack2(), osl::eval::endgame::AttackDefense::expect(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::rating::PatternLong::find(), osl::rating::PatternLong2::find(), osl::rating::PatternBlock::find(), osl::move_probability::BlockLong::findAll(), osl::search::BreakThreatmate::findBlockLong(), osl::eval::See::findEffectPiecesAfterMove(), osl::eval::TakeBackValue::findEffectPiecesAfterMove(), osl::rating::AttackKing8Group::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::TakeBackGroup::findMatch(), osl::rating::ShadowEffectGroup::findMatch(), osl::rating::SendOffGroup::findMatch(), osl::rating::BlockGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::BadLanceGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::move_probability::StateInfo::findShortThreatmate(), osl::search::BreakThreatmate::generate(), osl::search::BreakThreatmate::generateAddEffect(), osl::search::MoveGenerator::generateAll(), osl::checkmate::FixedDepthSearcher::generateBlockingWhenLiberty0(), osl::checkmate::FixedDepthSearcher2::generateBlockingWhenLiberty0(), osl::checkmate::Dfpn::generateCheck(), osl::checkmate::Dfpn::generateEscape(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::search::BreakThreatmate::generateOpenRoad(), osl::search::MoveGenerator::generateTakeBack(), osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), osl::search::BigramKillerMove::getMove(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::checkmate::FixedDepthSearcher2::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher::hasCheckmateWithGuide(), hasIgnoredUnpromote(), ignoreUnpromote(), osl::importantMove(), osl::rating::Karanari::index(), osl::rating::PinAttack::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::BigramAttack::indexOfMove(), is_safe_move(), osl::state::SimpleState::isAlmostValidDrop(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::rating::Threatmate::isCandidate(), osl::state::NumEffectState::isConsistent(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::move_probability::BreakThreatmate::isDefendingThreatmate(), osl::move_classifier::MoveAdaptor< Classifier >::isMember(), osl::search::FirstMoveThreatmate::isMember(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::move_classifier::AttackDefenceAroundKing< P >::isMember(), osl::rating::LongTarget::isPromotable(), osl::ntesuki::NtesukiSimulationSearcher::isSafeMove(), isValid(), osl::state::SimpleState::isValidMoveByRule(), osl::search::QuiescenceGenerator< P >::kingWalk(), osl::rating::Threatmate::knight2Step(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::state::NumEffectState::makeMove(), osl::state::NumEffectState::makeUnmakeMove(), osl::rating::RelativeKingX::makeX(), osl::rating::SquareX::makeX(), osl::rating::RelativeKingY::makeY(), osl::rating::SquareY::makeY(), osl::rating::CheckmateIfCapture::match(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::TakeBack::match(), osl::rating::ShadowEffect1::match(), osl::rating::ToSupported::match(), osl::rating::TakeBack2::match(), osl::rating::ShadowEffect2::match(), osl::rating::ImmediateEscape::match(), osl::annotate::CheckmateForCapture::match(), osl::annotate::CheckmateForEscape::match(), osl::move_probability::TakeBackFeature::match(), osl::rating::SendOff::match(), osl::annotate::Vision3::match(), osl::rating::Block::match(), osl::move_probability::SeeFeature::match(), osl::rating::Chase::match(), osl::rating::ImmediateAddSupport::match(), osl::move_probability::SquareY::match(), osl::rating::RookDefense::match(), osl::move_probability::SquareX::match(), osl::rating::BadLance::match(), osl::rating::PawnAttack::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::ToEffect::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::PatternBase< TestPromotable >::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::BishopAttack::match(), osl::move_probability::RookAttack::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::SendOff::match(), osl::move_probability::LureDefender::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::DropAfterOpposingPawn::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::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::search::AlphaBeta3::nextMove(), osl::rating::Pattern::nextSquare(), osl::record::opening::OMove::OMove(), osl::move_order::CaptureEstimation::operator()(), osl::operator<<(), osl::search::BigramKillerMove::operator[](), osl::threatmate::KfendPredictor::predict(), osl::threatmate::RichPredictor::predict(), osl::threatmate::TreePredictor::predict(), osl::threatmate::MlPredictor::predict(), osl::search::AlphaBeta3::presearch(), osl::record::KanjiPrint::print(), osl::threatmate::TreePredictor::probability(), osl::search::QuiescenceGenerator< P >::promote(), osl::search::QuiescenceGenerator< P >::promoteN(), osl::checkmate::Dfpn::proofOracleDefense(), run(), osl::record::OKisenStream::save(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::eval::See::seeInternal(), osl::search::AlphaBeta3::seePlusLight(), osl::search::BigramKillerMove::setMove(), osl::ntesuki::NtesukiMoveGenerator::setOrder(), osl::record::myshogi::show(), osl::record::psn::show(), osl::record::csa::show(), osl::record::ki2::show(), osl::record::psn::showXP(), osl::move_probability::CheckFeature::sign(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::search::QuiescenceSearch2< EvalT >::staticValueWithThreat(), osl::record::kakinoki::strToMove(), osl::record::KanjiMove::strToMove(), osl::search::QuiescenceSearch2< EvalT >::takeBackOrChase(), osl::search::QuiescenceSearch2< EvalT >::takeBackValue(), test_position(), osl::state::SimpleState::testValidityOtherThanEffect(), osl::search::MoveMarker::toIndex(), osl::search::SearchState2Core::tryThreatmate(), osl::progress::PtypeProgress::update(), osl::eval::endgame::AttackDefense::update(), osl::progress::Effect5x3WithBonus::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::KnightFork::updateSquares(), osl::eval::ml::OpenMidEndingEval::updateSub(), osl::search::QuiescenceGenerator< P >::utilizePromoted(), osl::search::StateElements::validCaptureMove(), osl::search::StateElements::validSimpleMove(), osl::search::HistoryTable::value(), and osl::state::NumEffectState::wasCheckEvasion().
osl::Move16 osl::Move::toMove16 | ( | ) | const |
Definition at line 103 of file move.cc.
References osl::SquareCompressor::compress(), and osl::MOVE16_NONE.
|
inline |
promote moveからunpromote moveを作る
Definition at line 247 of file move.h.
References BitOffsetPromote, intValue(), isNormal(), osl::isPromoted(), isPromotion(), makeDirect(), move_assert, and ptype().
Referenced by osl::checkmate::Dfpn::generateCheck(), osl::checkmate::Dfpn::generateEscape(), and osl::move_generator::LegalMoves::generateWithFullUnpromotions().
|
static |
Definition at line 58 of file move.h.
Referenced by init(), isPromotion(), oldPtype(), oldPtypeO(), promote(), promoteMask(), and unpromote().
|
static |
|
private |
Definition at line 60 of file move.h.
Referenced by osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), capturePtype(), from(), fromTo(), init(), intValue(), isInvalid(), isNormal(), isPass(), isPromotion(), oldPtype(), oldPtypeO(), player(), osl::game_playing::GnuShogiClient::processComputerMove(), osl::game_playing::CsaClient::processComputerMove(), promoteMask(), ptype(), ptypeO(), and to().