My Project
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
osl::Move Class Reference

圧縮していない moveの表現 . More...

#include <basic_type.h>

Inheritance diagram for osl::Move:
osl::MoveLogProb

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
 

Detailed Description

圧縮していない moveの表現 .

Pieceとpromotepをそろえる -> 変える. 下位から 2009/12/10から

Definition at line 1051 of file basic_type.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
INVALID_VALUE 
DECLARE_WIN 
BLACK_PASS 
WHITE_PASS 

Definition at line 1060 of file basic_type.h.

Constructor & Destructor Documentation

◆ Move() [1/4]

osl::Move::Move ( int  value)
inlineexplicitprivate

Definition at line 1057 of file basic_type.h.

◆ Move() [2/4]

osl::Move::Move ( )
inline

Definition at line 1084 of file basic_type.h.

Referenced by DeclareWin(), INVALID(), makeDirect(), and PASS().

◆ Move() [3/4]

osl::Move::Move ( Square  from,
Square  to,
Ptype  ptype,
Ptype  capture_ptype,
bool  is_promote,
Player  player 
)
inline

◆ Move() [4/4]

osl::Move::Move ( Square  to,
Ptype  ptype,
Player  player 
)
inline

Member Function Documentation

◆ capturePtype()

Ptype osl::Move::capturePtype ( ) const
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().

◆ capturePtypeO()

PtypeO osl::Move::capturePtypeO ( ) const
inline

◆ capturePtypeOSafe()

PtypeO osl::Move::capturePtypeOSafe ( ) const
inline

◆ DeclareWin()

static const Move osl::Move::DeclareWin ( )
inlinestatic

Definition at line 1096 of file basic_type.h.

References DECLARE_WIN, and Move().

Referenced by osl::operator<<().

◆ from()

const Square osl::Move::from ( ) const
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().

◆ fromMove16()

const osl::Move osl::Move::fromMove16 ( Move16  move16,
const SimpleState state 
)
static

◆ fromTo()

unsigned int osl::Move::fromTo ( ) const
inline

fromとtoをまとめて同一性の判定など

Definition at line 1139 of file basic_type.h.

References move.

◆ hash()

unsigned int osl::Move::hash ( ) const

駒を取らない手を [0, 16305] にmap

Definition at line 309 of file basic_type.cc.

References osl::PTYPE_EMPTY.

◆ hasIgnoredUnpromote() [1/2]

template<Player P>
bool osl::Move::hasIgnoredUnpromote ( ) 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().

◆ hasIgnoredUnpromote() [2/2]

bool osl::Move::hasIgnoredUnpromote ( ) const
inline

Definition at line 1322 of file basic_type.h.

References osl::BLACK, and player().

◆ ignoreUnpromote() [1/3]

template<Player P>
bool osl::Move::ignoreUnpromote ( ) const
inline

合法手ではあるが,打歩詰め絡み以外では有利にはならない手.


TODO 遅い

Definition at line 1296 of file basic_type.h.

References from(), isDrop(), player(), ptype(), and to().

◆ ignoreUnpromote() [2/3]

bool osl::Move::ignoreUnpromote ( ) const
inline

Definition at line 1301 of file basic_type.h.

References osl::BLACK, and player().

◆ ignoreUnpromote() [3/3]

template<Player P>
static bool osl::Move::ignoreUnpromote ( Ptype  ptype,
Square  from,
Square  to 
)
inlinestatic

◆ init()

void osl::Move::init ( Square  from,
Square  to,
Ptype  ptype,
Ptype  capture_ptype,
bool  is_promote,
Player  player 
)
inlineprivate

Definition at line 1073 of file basic_type.h.

References BitOffsetPromote, from(), move, player(), ptype(), to(), and osl::Square::uintValue().

Referenced by Move(), and Move().

◆ intValue()

int osl::Move::intValue ( ) const
inline

◆ INVALID()

static const Move osl::Move::INVALID ( )
inlinestatic

◆ isCapture()

bool osl::Move::isCapture ( ) const
inline

◆ isCaptureOrPromotion()

bool osl::Move::isCaptureOrPromotion ( ) const
inline

Definition at line 1149 of file basic_type.h.

References isCapture(), and isPromotion().

Referenced by osl::move_probability::CoverPawn::match().

◆ isDrop()

bool osl::Move::isDrop ( ) const
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().

◆ isInvalid()

bool osl::Move::isInvalid ( ) const
inline

◆ isNormal()

bool osl::Move::isNormal ( ) const
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().

◆ isPass()

bool osl::Move::isPass ( ) const
inline

◆ isPawnDrop()

bool osl::Move::isPawnDrop ( ) const
inline

Definition at line 1151 of file basic_type.h.

References isDrop(), osl::PAWN, and ptype().

◆ isPromotion()

bool osl::Move::isPromotion ( ) const
inline

◆ isValid()

bool osl::Move::isValid ( ) const

◆ isValidOrPass()

bool osl::Move::isValidOrPass ( ) const
inline

◆ makeDirect()

static const Move osl::Move::makeDirect ( int  value)
inlinestatic

◆ newAddCapture()

const Move osl::Move::newAddCapture ( Piece  capture) const
inline

no capture moveからcapture moveを作る

Definition at line 1226 of file basic_type.h.

References osl::Piece::intValue(), intValue(), isCapture(), and makeDirect().

◆ newAddFrom()

Move osl::Move::newAddFrom ( Square  new_from) const
inline

Definition at line 1215 of file basic_type.h.

References from(), intValue(), isNormal(), makeDirect(), and osl::Square::uintValue().

◆ newAddPtype()

Move osl::Move::newAddPtype ( Ptype  newPtype) const
inline

作ってあったPTYPE_EMPTYのひな形のPTYPEをsetする

Definition at line 1274 of file basic_type.h.

References intValue(), makeDirect(), ptype(), and osl::PTYPE_EMPTY.

◆ newAddTo() [1/2]

Move osl::Move::newAddTo ( Offset  o) const
inline

moveのtoをoffsetだけ変える. 元のtoが0以外でも使える

Definition at line 1260 of file basic_type.h.

References osl::Offset::intValue(), intValue(), and makeDirect().

◆ newAddTo() [2/2]

Move osl::Move::newAddTo ( Square  sq) const
inline

つくってあったmoveの雛形のsquareをsetする. mのtoは0

Definition at line 1267 of file basic_type.h.

References intValue(), makeDirect(), and osl::Square::uintValue().

◆ newCapture() [1/2]

const Move osl::Move::newCapture ( Piece  capture) const
inline

◆ newCapture() [2/2]

const Move osl::Move::newCapture ( Ptype  capture) const
inline

Definition at line 1235 of file basic_type.h.

References osl::Piece::BitOffsetPtype, intValue(), and makeDirect().

◆ newFrom()

Move osl::Move::newFrom ( Square  new_from) const
inline

◆ oldPtype()

Ptype osl::Move::oldPtype ( ) const
inline

◆ oldPtypeO()

PtypeO osl::Move::oldPtypeO ( ) const
inline

◆ PASS()

static const Move osl::Move::PASS ( Player  P)
inlinestatic

Definition at line 1094 of file basic_type.h.

References Move().

Referenced by osl::record::CsaFile::makeInfo(), and rotate180().

◆ player()

Player osl::Move::player ( ) const
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().

◆ promote()

const Move osl::Move::promote ( ) const
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().

◆ promoteMask()

int osl::Move::promoteMask ( ) const
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().

◆ ptype()

Ptype osl::Move::ptype ( ) const
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().

◆ ptypeO()

PtypeO osl::Move::ptypeO ( ) const
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().

◆ rotate180()

const osl::Move osl::Move::rotate180 ( ) const

Definition at line 262 of file basic_type.cc.

References osl::alt(), and PASS().

◆ to()

const Square osl::Move::to ( ) const
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().

◆ toMove16()

osl::Move16 osl::Move::toMove16 ( ) const

Definition at line 336 of file basic_type.cc.

References osl::SquareCompressor::compress(), and osl::MOVE16_NONE.

◆ unpromote()

const Move osl::Move::unpromote ( ) const
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().

Member Data Documentation

◆ BitOffsetPromote

const int osl::Move::BitOffsetPromote =Piece::BitOffsetMovePromote
static

Definition at line 1054 of file basic_type.h.

Referenced by init(), isPromotion(), oldPtype(), oldPtypeO(), promote(), promoteMask(), and unpromote().

◆ MaxUniqMoves

const unsigned int osl::Move::MaxUniqMoves =600
static

一局面辺りの合法手の最大値 重複して手を生成することがある場合は,600では不足かもしれない

Definition at line 1071 of file basic_type.h.

◆ move

int osl::Move::move
private

The documentation for this class was generated from the following files: