All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private Attributes
osl::Move Class Reference

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

#include <move.h>

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

List of all members.

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
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
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 ()
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 = (-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 48 of file move.h.


Member Enumeration Documentation

anonymous enum [private]
Enumerator:
INVALID_VALUE 
DECLARE_WIN 
BLACK_PASS 
WHITE_PASS 

Definition at line 57 of file move.h.


Constructor & Destructor Documentation

osl::Move::Move ( int  value) [inline, explicit, private]

Definition at line 54 of file move.h.

osl::Move::Move ( ) [inline]

Definition at line 81 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 97 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 172 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::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::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::PieceEval::update(), osl::eval::MinorPieceBonus::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]
static const Move osl::Move::DeclareWin ( ) [inline, static]
const Square osl::Move::from ( ) const [inline]

Definition at line 120 of file move.h.

References isInvalid(), isValidOrPass(), 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::FixedDepthSearcher::attack(), osl::checkmate::FixedDepthSearcher2::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::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::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::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::AttackKing8Group::findMatch(), osl::rating::FromEffectGroup::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::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher2::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::ContinueCapture::match(), osl::rating::ImmediateEscape::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().

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

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

Definition at line 134 of file move.h.

References move.

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

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

Definition at line 75 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 314 of file move.h.

References osl::BLACK, and player().

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

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

TODO 遅い

Definition at line 288 of file move.h.

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

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

Definition at line 293 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 
) [inline, private]

Definition at line 70 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 ( ) [inline, static]
bool osl::Move::isCapture ( ) const [inline]
bool osl::Move::isCaptureOrPromotion ( ) const [inline]
bool osl::Move::isDrop ( ) const [inline]

Definition at line 145 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::FixedDepthSearcher::attack(), osl::checkmate::FixedDepthSearcher2::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::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher2::defense(), osl::checkmate::Dfpn::defense(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::FixedDepthSearcher2::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::King3Pieces::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::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::AttackKing8Group::findMatch(), osl::rating::FromEffectGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::move_generator::LegalMoves::generate(), osl::search::BreakThreatmate::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::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher2::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(), 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::annotate::CheckmateForEscape::match(), osl::rating::DropCaptured::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 85 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::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher2::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::PromotionBySacrifice::match(), osl::move_probability::EscapeThreatened::match(), osl::game_playing::BookPlayer::moveByBook(), newAddFrom(), newFrom(), osl::search::AlphaBeta3::nextMove(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::Generator::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::isPromotion ( ) const [inline]

Definition at line 142 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) [inline, static]
const Move osl::Move::newAddCapture ( Piece  capture) const [inline]
Move osl::Move::newAddFrom ( Square  new_from) const [inline]

Definition at line 207 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 266 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 259 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 227 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) [inline, static]
Player osl::Move::player ( ) const [inline]

Definition at line 187 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::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::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(), 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 147 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::FixedDepthSearcher::attack(), osl::checkmate::FixedDepthSearcher2::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::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher2::defense(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::FixedDepthSearcher2::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::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::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::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher2::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(), 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 154 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::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::eval::See::seeInternal(), 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().

Definition at line 28 of file move.cc.

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

const Square osl::Move::to ( ) const [inline]

Definition at line 127 of file move.h.

References isInvalid(), isValidOrPass(), 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::FixedDepthSearcher::attack(), osl::checkmate::FixedDepthSearcher2::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::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::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::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::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher2::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::annotate::CheckmateForCapture::match(), osl::rating::ImmediateEscape::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().

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

Member Data Documentation

Definition at line 51 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 68 of file move.h.

int osl::Move::move [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines