My Project
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の表現 .

  • invalid: isInvalid 以外の演算はできない
  • declare_win: isInvalid 以外の演算はできない
  • pass: from, to, ptype, oldPtype はとれる.player()はとれない.

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

  • to : 8 bit
  • from : 8 bit
  • capture ptype : 4 bit
  • dummy : 3 bit
  • promote? : 1 bit
  • ptype : 4 bit - promote moveの場合はpromote後のもの
  • owner : signed 2009/12/10以前
  • from : 8 bit
  • to : 8 bit
  • dummy : 3 bit
  • promote? : 1 bit
  • capture ptype : 4 bit
  • ptype : 4 bit - promote moveの場合はpromote後のもの
  • owner : signed

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]

◆ Move() [2/4]

osl::Move::Move ( )
inline

Definition at line 1084 of file basic_type.h.

References INVALID_VALUE, and move.

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

移動

Definition at line 1100 of file basic_type.h.

References from(), init(), isValid(), move_assert, player(), ptype(), and to().

◆ Move() [4/4]

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

drop

Definition at line 1114 of file basic_type.h.

References init(), isValid(), move_assert, player(), ptype(), osl::PTYPE_EMPTY, osl::Square::STAND(), and to().

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::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::progress::Effect5x3::expect(), osl::progress::Effect5x3WithBonus::expect(), osl::csa::fancyShow(), osl::rating::ChaseGroup::findMatch(), osl::rating::SendOffGroup::findMatch(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), hash(), osl::rating::Threatmate::isCandidate(), isCapture(), isValid(), osl::move_probability::CapturePtype::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::ContinueCapture::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::DropCaptured::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::ThreatmateByCapture::match(), osl::move_probability::ToEffect::match(), osl::rating::Chase::match(), osl::rating::ContinueCapture::match(), osl::rating::DropCaptured::match(), osl::rating::PawnAttack::match(), osl::rating::SendOff::match(), osl::rating::Karanari::matchGeneral(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::PieceStand::nextStand(), osl::book::OMove::OMove(), osl::operator<<(), osl::PieceStand::previousStand(), rotate180(), osl::psn::showXP(), osl::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()

◆ capturePtypeOSafe()

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

◆ DeclareWin()

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

◆ 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::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::King25EmptySquareNoEffect::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::rating::PatternLong2::find(), osl::rating::PatternLong::find(), osl::move_probability::BlockLongFrom::findAll(), osl::eval::See::findEffectPiecesAfterMove(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::FromEffectGroup::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), fromMove16(), 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(), isValid(), osl::SimpleState::isValidMoveByRule(), osl::NumEffectState::makeMove(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::NumEffectState::makeUnmakeMove(), osl::move_probability::ContinueCapture::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::PatternBase< false >::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::ToEffectLong::match(), osl::rating::AttackKing8::match(), osl::rating::Chase::match(), osl::rating::ContinueCapture::match(), osl::rating::FromEffect::match(), osl::rating::ImmediateEscape::match(), osl::rating::Pattern::match(), osl::rating::PinAttack::match(), osl::rating::PtypeAttacked::match(), osl::rating::RookDefense::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<<(), rotate180(), osl::record::KisenWriter::save(), osl::eval::See::seeInternal(), osl::csa::show(), osl::ki2::show(), osl::psn::show(), osl::psn::showXP(), osl::move_probability::ToEffect::supportAttack(), toMove16(), 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 capturePtype(), intValue(), and osl::PTYPE_EMPTY.

◆ hasIgnoredUnpromote() [1/2]

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

Definition at line 1322 of file basic_type.h.

References osl::BLACK, hasIgnoredUnpromote(), and player().

◆ hasIgnoredUnpromote() [2/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(), and to().

Referenced by osl::NumEffectState::generateWithFullUnpromotions(), and hasIgnoredUnpromote().

◆ ignoreUnpromote() [1/3]

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

Definition at line 1301 of file basic_type.h.

References osl::BLACK, ignoreUnpromote(), and player().

◆ ignoreUnpromote() [2/3]

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

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


TODO 遅い

Definition at line 1296 of file basic_type.h.

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

Referenced by ignoreUnpromote().

◆ ignoreUnpromote() [3/3]

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

Definition at line 1280 of file basic_type.h.

References osl::BISHOP, osl::BLACK, from(), osl::LANCE, osl::PAWN, ptype(), osl::ROOK, and to().

◆ 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(), and to().

Referenced by Move(), and Move().

◆ intValue()

◆ INVALID()

◆ isCapture()

◆ 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::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandCombination::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::move_probability::BlockLong::findAll(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::FromEffectGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), ignoreUnpromote(), osl::rating::DropPtype::index(), osl::rating::Open::index(), osl::rating::PinAttack::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::move_probability::BlockLongFrom::match(), osl::move_probability::CheckFeature::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::DropCaptured::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::ToEffectLong::match(), osl::rating::AttackKing8::match(), osl::rating::Chase::match(), osl::rating::DropCaptured::match(), osl::rating::DropPtype::match(), osl::rating::FromEffect::match(), osl::rating::ImmediateEscape::match(), osl::rating::PawnAttack::match(), osl::rating::PinAttack::match(), osl::rating::PtypeAttacked::match(), osl::rating::RookDefense::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::record::KanjiMove::strToMove(), osl::move_probability::ToEffect::supportAttack(), toMove16(), osl::checkmate::Dfpn::ProofOracle::traceable(), osl::progress::PtypeProgress::update(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::KnightFork::updateSquares(), osl::progress::Effect5x3::updateStand(), osl::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::book::BookInMemory::find(), osl::checkmate::Dfpn::findDagSource(), osl::rating::ChaseGroup::findMatch(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::checkmate::DualDfpn::findProof(), osl::move_probability::StateInfo::findShortThreatmate(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), osl::rating::BigramAttack::index(), osl::rating::ImmediateAddSupport::index(), osl::NumEffectState::isAlmostValidMove(), isCapture(), isDrop(), osl::checkmate::ProofDisproof::isPawnDropFoul(), isPromotion(), isValid(), osl::SimpleState::isValidMoveByRule(), osl::record::CsaFile::makeInfo(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::DropCaptured::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::SacrificeAttack::match(), osl::rating::Chase::match(), osl::rating::DropCaptured::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::ImmediateEscape::match(), osl::rating::PawnAttack::match(), newAddFrom(), newFrom(), osl::PieceStand::nextStand(), osl::usi::parse(), osl::kakinoki::KakinokiFile::parseLine(), osl::PieceStand::previousStand(), promote(), promoteMask(), osl::checkmate::Dfpn::proofOracleAttack(), osl::checkmate::ProofTreeDepthDfpn::retrievePV(), rotate180(), osl::ki2::show(), osl::record::myshogi::show(), osl::usi::show(), unpromote(), osl::NumEffectState::wasCheckEvasion(), and osl::checkmate::DualDfpn::writeRootHistory().

◆ isPass()

◆ isPawnDrop()

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

Definition at line 1151 of file basic_type.h.

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

◆ isPromotion()

◆ isValid()

◆ isValidOrPass()

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

◆ makeDirect()

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 intValue(), osl::Piece::intValue(), isCapture(), makeDirect(), and Move().

◆ newAddFrom()

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

Definition at line 1215 of file basic_type.h.

References from(), intValue(), isNormal(), makeDirect(), Move(), 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(), Move(), 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 intValue(), osl::Offset::intValue(), makeDirect(), and Move().

◆ 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(), Move(), 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(), makeDirect(), and Move().

◆ newFrom()

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

◆ oldPtype()

◆ oldPtypeO()

◆ PASS()

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

Definition at line 1094 of file basic_type.h.

References Move(), and Move().

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

◆ 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::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::OpenMidEndingEval::expect(), osl::progress::Effect5x3::expect(), osl::progress::Effect5x3WithBonus::expect(), osl::rating::PatternLong2::find(), osl::rating::PatternLong::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::BadLanceGroup::findMatch(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternLongGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::ShadowEffectGroup::findMatch(), hasIgnoredUnpromote(), ignoreUnpromote(), osl::rating::BigramAttack::index(), osl::rating::Karanari::index(), osl::rating::Open::index(), osl::rating::BigramAttack::indexOfMove(), init(), osl::NumEffectState::isAlmostValidMove(), osl::SimpleState::isAlmostValidMove(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::rating::LongTarget::isPromotable(), isValid(), osl::SimpleState::isValidMove(), osl::SimpleState::isValidMoveByRule(), osl::NumEffectState::makeMove(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::NumEffectState::makeUnmakeMove(), osl::NumEffectState::makeUnmakeMove(), osl::rating::RelativeKingX::makeX(), osl::rating::RelativeKingY::makeY(), osl::rating::SquareY::makeY(), osl::move_probability::LureDefender::match(), osl::rating::AttackKing8::match(), osl::rating::BadLance::match(), osl::rating::CheckmateIfCapture::match(), osl::rating::Karanari::match(), osl::rating::LongTarget2::match(), osl::rating::LongTarget::match(), osl::rating::Pattern::match(), osl::rating::PatternBlock::match(), osl::rating::PtypeAttacked::match(), osl::rating::RookDefense::match(), osl::rating::ShadowEffect1::match(), osl::rating::ShadowEffect2::match(), osl::rating::ToSupported::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(), rotate180(), osl::record::KisenWriter::save(), osl::eval::See::see(), osl::csa::show(), osl::ki2::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(), 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::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::move_probability::BlockLong::findAll(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::DefenseKing8Group::findMatch(), osl::rating::EscapePinGroup::findMatch(), osl::rating::KingEscapeGroup::findMatch(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternLongGroup::findMatch(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), fromMove16(), osl::PathEncodingTable::get(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), hasIgnoredUnpromote(), osl::checkmate::PawnCheckmateMoves::hasParingNoPromote(), ignoreUnpromote(), ignoreUnpromote(), osl::rating::DropPtype::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::Karanari::index(), osl::rating::PinAttack::index(), osl::rating::RelativeKingX::index(), osl::rating::RelativeKingY::index(), init(), osl::move_probability::BreakThreatmate::isKingMove(), osl::move_classifier::MoveAdaptor< Classifier >::isMember(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), isPawnDrop(), osl::checkmate::ProofDisproof::isPawnDropFoul(), isValid(), osl::SimpleState::isValidMoveByRule(), osl::rating::Threatmate::knight2Step(), osl::NumEffectState::makeMove(), osl::NumEffectState::makeUnmakeMove(), osl::move_probability::AddEffectLong::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::BishopAttack::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::CheckFeature::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::CoverFork::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::DropCaptured::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::PatternBase< false >::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::RookAttack::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::SendOff::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::ThreatmateByCapture::match(), osl::move_probability::ToEffect::match(), osl::rating::AttackKing8::match(), osl::rating::Chase::match(), osl::rating::DefenseKing8::match(), osl::rating::DropCaptured::match(), osl::rating::DropPtype::match(), osl::rating::EscapePin::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::ImmediateEscape::match(), osl::rating::Karanari::match(), osl::rating::KingEscape::match(), osl::rating::Pattern::match(), osl::rating::PatternBlock::match(), osl::rating::PatternLong2::match(), osl::rating::PatternLong::match(), osl::rating::PawnAttack::match(), osl::rating::PinAttack::match(), osl::rating::RelativeKingX::match(), osl::rating::RelativeKingY::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(), rotate180(), osl::record::KisenWriter::save(), osl::checkmate::FixedDepthSolverExt::SetProofPieces::setAttackLeaf(), osl::csa::show(), osl::psn::show(), osl::psn::showXP(), toMove16(), osl::checkmate::Dfpn::ProofOracle::traceable(), unpromote(), osl::progress::Effect5x3::update(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::KnightFork::updateSquares(), osl::progress::Effect5x3::updateStand(), osl::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::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PtypeCount::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::ImmediateAddSupport::index(), osl::rating::PinAttack::index(), osl::rating::Threatmate::isCandidate(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::move_probability::BreakThreatmate::isDefendingThreatmate(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::LureDefender::match(), osl::move_probability::SacrificeAttack::match(), osl::rating::AttackKing8::match(), osl::rating::Chase::match(), osl::rating::ImmediateEscape::match(), osl::rating::PinAttack::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

◆ 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::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::eval::ml::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::King25EmptySquareNoEffect::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::rating::PatternBlock::find(), osl::rating::PatternLong2::find(), osl::rating::PatternLong::find(), osl::move_probability::BlockLong::findAll(), osl::eval::See::findEffectPiecesAfterMove(), osl::rating::AttackKing8Group::findMatch(), osl::rating::BadLanceGroup::findMatch(), osl::rating::BlockGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::SendOffGroup::findMatch(), osl::rating::ShadowEffectGroup::findMatch(), osl::rating::TakeBackGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::move_probability::StateInfo::findShortThreatmate(), fromMove16(), osl::PathEncodingTable::get(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), hasIgnoredUnpromote(), ignoreUnpromote(), ignoreUnpromote(), osl::rating::ImmediateAddSupport::index(), osl::rating::Karanari::index(), osl::rating::PinAttack::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(), isValid(), 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::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::BishopAttack::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::ContinueCapture::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::PatternBase< false >::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::RookAttack::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::SeeFeature::match(), osl::move_probability::SendOff::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::TakeBackFeature::match(), osl::move_probability::ToEffect::match(), osl::move_probability::ToEffectLong::match(), osl::rating::AttackKing8::match(), osl::rating::BadLance::match(), osl::rating::Block::match(), osl::rating::Chase::match(), osl::rating::CheckmateIfCapture::match(), osl::rating::ContinueCapture::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::ImmediateEscape::match(), osl::rating::Karanari::match(), osl::rating::PawnAttack::match(), osl::rating::PinAttack::match(), osl::rating::PinAttack::match(), osl::rating::RookDefense::match(), osl::rating::SendOff::match(), osl::rating::ShadowEffect1::match(), osl::rating::ShadowEffect2::match(), osl::rating::TakeBack2::match(), osl::rating::TakeBack::match(), osl::rating::ToSupported::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(), rotate180(), osl::record::KisenWriter::save(), osl::eval::See::seeInternal(), osl::csa::show(), osl::ki2::show(), osl::psn::show(), osl::record::myshogi::show(), osl::psn::showXP(), osl::move_probability::CheckFeature::sign(), osl::kakinoki::strToMove(), osl::record::KanjiMove::strToMove(), toMove16(), 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

◆ 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(), 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


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