All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 <move.h>

Inheritance diagram for osl::Move:
Inheritance graph
[legend]

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
 

Detailed Description

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

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

Definition at line 55 of file move.h.

Member Enumeration Documentation

anonymous enum
private
Enumerator
INVALID_VALUE 
DECLARE_WIN 
BLACK_PASS 
WHITE_PASS 

Definition at line 64 of file move.h.

Constructor & Destructor Documentation

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

Definition at line 61 of file move.h.

osl::Move::Move ( )
inline

Definition at line 88 of file move.h.

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

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

移動

Definition at line 104 of file move.h.

References init(), osl::Square::isOnBoard(), osl::Square::isValid(), isValid(), and move_assert.

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

Member Function Documentation

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

PtypeO osl::Move::capturePtypeO ( ) const
inline
PtypeO osl::Move::capturePtypeOSafe ( ) const
inline
static const Move osl::Move::DeclareWin ( )
inlinestatic
const Square osl::Move::from ( ) const
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().

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

Definition at line 84 of file move.cc.

References osl::SquareCompressor::melt(), osl::MOVE16_NONE, and osl::promote().

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

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

Definition at line 143 of file move.h.

References move.

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

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

Definition at line 77 of file move.cc.

References osl::PTYPE_EMPTY.

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

Definition at line 326 of file move.h.

References osl::BLACK, and player().

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

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

TODO 遅い

Definition at line 300 of file move.h.

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

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

Definition at line 305 of file move.h.

References osl::BLACK, and player().

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

Definition at line 77 of file move.h.

References BitOffsetPromote, move, and osl::Square::uintValue().

Referenced by Move().

int osl::Move::intValue ( ) const
inline
static const Move osl::Move::INVALID ( )
inlinestatic
bool osl::Move::isCapture ( ) const
inline
bool osl::Move::isCaptureOrPromotion ( ) const
inline
bool osl::Move::isDrop ( ) const
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().

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

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

Definition at line 155 of file move.h.

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

bool osl::Move::isPromotion ( ) const
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
bool osl::Move::isValidOrPass ( ) const
inline
static const Move osl::Move::makeDirect ( int  value)
inlinestatic
const Move osl::Move::newAddCapture ( Piece  capture) const
inline
Move osl::Move::newAddFrom ( Square  new_from) const
inline

Definition at line 219 of file move.h.

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

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

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

Definition at line 278 of file move.h.

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

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

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

Definition at line 271 of file move.h.

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

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

Definition at line 239 of file move.h.

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

Move osl::Move::newFrom ( Square  new_from) const
inline
Ptype osl::Move::oldPtype ( ) const
inline
PtypeO osl::Move::oldPtypeO ( ) const
inline
static const Move osl::Move::PASS ( Player  P)
inlinestatic
Player osl::Move::player ( ) const
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().

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

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

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

const Move osl::Move::unpromote ( ) const
inline

Member Data Documentation

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

Definition at line 58 of file move.h.

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

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

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

Definition at line 75 of file move.h.

int osl::Move::move
private

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