クラス osl::Move

圧縮していない moveの表現 . [詳細]

#include <move.h>

すべてのメンバ一覧

Public メソッド

int intValue () const
 Move ()
bool isNormal () const
 INVALID でも PASS でもない.
bool isPass () const
 Move (Position from, Position to, Ptype ptype, Ptype capture_ptype, bool is_promote, Player player)
 移動
 Move (Position to, Ptype ptype, Player player)
 drop
const Position from () const
const Position to () const
unsigned int fromTo () const
 fromとtoをまとめて同一性の判定など
int promoteMask () const
 pieceに使うためのmaskなので
bool isPromote () 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 (Position new_from) const
Move newAddFrom (Position 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 (Position pos) const
 つくってあったmoveの雛形のpositionをsetする. mのtoは0
Move newAddPtype (Ptype newPtype) const
 作ってあったPTYPE_EMPTYのひな形のPTYPEをsetする
template<Player P>
bool ignoreUnpromote () const
 合法手ではあるが,打歩詰め絡み以外では有利にはならない手.
bool ignoreUnpromote (Player pl) const
template<Player P>
bool hasIgnoredUnpromote () const
 MoveをunpromoteするとcutUnpromoteなMoveになる.
bool hasIgnoredUnpromote (Player pl) const
const Move rotate180 () const

Static Public メソッド

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, Position from, Position to)

Static Public 変数

static const int BitOffsetPromote = Piece::BitOffsetMovePromote
static const unsigned int MaxUniqMoves = 600
 一局面辺りの合法手の最大値 重複して手を生成することがある場合は,600では不足かもしれない

Private 型

enum  { INVALID_VALUE = (1<<8), DECLARE_WIN = (2<<8), BLACK_PASS = 0, WHITE_PASS = (-1)<<28 }

Private メソッド

 Move (int value)
void init (Position from, Position to, Ptype ptype, Ptype capture_ptype, bool is_promote, Player player)

Private 変数

int move

説明

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

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

move.h48 行で定義されています。


列挙型

anonymous enum [private]
列挙型の値:
INVALID_VALUE 
DECLARE_WIN 
BLACK_PASS 
WHITE_PASS 

move.h57 行で定義されています。


コンストラクタとデストラクタ

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

move.h54 行で定義されています。

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

move.h79 行で定義されています。

参照元 DeclareWin(), INVALID(), makeDirect(), PASS(), と rotate180().

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

移動

move.h95 行で定義されています。

参照先 init(), osl::Position::isOnBoard(), isValid(), osl::Position::isValid(), と move_assert.

osl::Move::Move ( Position  to,
Ptype  ptype,
Player  player 
) [inline]

drop

move.h109 行で定義されています。

参照先 init(), osl::Position::isOnBoard(), isValid(), move_assert, osl::PTYPE_EMPTY, と osl::Position::STAND().


関数

Ptype osl::Move::capturePtype (  )  const [inline]

move.h168 行で定義されています。

参照先 isNormal(), move, と result.

参照元 osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), osl::ntesuki::NtesukiTable::allocateWithMove(), osl::checkmate::ProofPieces::attack(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::LibertyEstimator::attackH(), osl::search::QuiescenceGenerator< P >::attackKing8(), osl::search::QuiescenceGenerator< P >::attackMajorPieceZerothSelection(), osl::checkmate::attackProofCost(), osl::search::QuiescenceGenerator< P >::attackToPinned(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::ntesuki::NtesukiRecord::calcProofPiecesOr(), osl::rating::Threatmate::captureForKnightCheck(), capturePtypeO(), capturePtypeOSafe(), osl::search::QuiescenceGenerator< P >::check(), osl::search::SacrificeCheck::count2(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::LibertyEstimator::defenseH(), osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::eval::PieceEval::diffWithMove(), osl::eval::ppair::PiecePairWithStand< PiecePairPieceTable >::diffWithUpdate(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::search::QuiescenceGenerator< P >::escapeByMoveOnly(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::search::QuiescenceGenerator< P >::escapeKing(), osl::search::QuiescenceGenerator< P >::escapeKingInTakeBack(), osl::search::QuiescenceGenerator< P >::escapeNormalPiece(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandCombination::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::eval::MinorPieceBonus::expect(), osl::progress::Effect5x3WithBonus::expect(), osl::progress::Effect5x3::expect(), osl::eval::endgame::AttackDefense::expect(), osl::record::csa::fancyShow(), osl::rating::SendOffGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::search::BreakThreatmate::generateAddEffect(), osl::search::MoveGenerator::generateAll(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::search::BreakThreatmate::generateOpenRoad(), osl::search::BigramKillerMove::getMove(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::importantMove(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::rating::Threatmate::isCandidate(), osl::search::FirstMoveThreatmate::isMember(), isValid(), osl::rating::PawnAttack::match(), osl::rating::Chase::match(), osl::rating::SendOff::match(), osl::rating::ContinueCapture::match(), osl::rating::Karanari::matchGeneral(), newAddCapture(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::PieceStand::nextStand(), osl::record::opening::OMove::OMove(), osl::move_order::CaptureEstimation::operator()(), osl::operator<<(), osl::threatmate::TreePredictor::predict(), osl::threatmate::RichPredictor::predict(), osl::threatmate::MlPredictor::predict(), osl::threatmate::KfendPredictor::predict(), osl::PieceStand::previousStand(), osl::threatmate::TreePredictor::probability(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::AlphaBeta3::reductionOk(), rotate180(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta3::seePlusLight(), osl::ntesuki::NtesukiRecord::setDisproofPieces(), osl::record::psn::showXP(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::progress::PtypeProgress::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::eval::PieceEval::update(), osl::eval::MinorPieceBonus::update(), osl::eval::endgame::AttackDefense::update(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::progress::ml::NewProgress::updateMain(), osl::progress::Effect5x3::updateStand(), osl::eval::ml::OpenMidEndingEval::updateSub(), osl::progress::ml::NewProgress::updateSub(), と osl::search::QuiescenceGenerator< P >::utilizePromoted().

PtypeO osl::Move::capturePtypeO (  )  const [inline]
PtypeO osl::Move::capturePtypeOSafe (  )  const [inline]
static const Move osl::Move::DeclareWin (  )  [inline, static]
const Position osl::Move::from (  )  const [inline]

move.h118 行で定義されています。

参照先 isInvalid(), isValidOrPass(), makeDirect(), move, move_assert, と result.

参照元 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::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::apply_move::ApplyMoveOfTurn::doMove(), osl::apply_move::ApplyMove< P >::doUndoMove(), 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::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King25EmptyPositionNoEffect::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::eval::endgame::AttackDefense::expect(), osl::rating::PatternLong2::find(), osl::rating::PatternLong::find(), osl::search::BreakThreatmate::findBlockLong(), osl::eval::See::findEffectPiecesAfterMove(), osl::eval::TakeBackValue::findEffectPiecesAfterMove(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::FromEffectGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::search::BreakThreatmate::generate(), osl::search::BreakThreatmate::generateAddEffect(), osl::search::MoveGenerator::generateAll(), osl::checkmate::FixedDepthSearcher2::generateBlockingWhenLiberty0(), osl::checkmate::FixedDepthSearcher::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::rating::PinAttack::index(), osl::rating::Open::index(), is_safe_move(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::rating::Threatmate::isCandidate(), isDrop(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::move_classifier::MoveAdaptor< Classifier >::isMember(), osl::move_classifier::isSafeMove(), osl::ntesuki::NtesukiSimulationSearcher::isSafeMove(), isValid(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::rating::PinAttack::match(), osl::rating::Pattern::match(), osl::rating::AttackKing8::match(), osl::rating::RookDefense::match(), osl::rating::Chase::match(), osl::rating::ImmediateEscape::match(), osl::rating::PtypeAttacked::match(), osl::rating::FromEffect::match(), osl::rating::ContinueCapture::match(), osl::rating::Karanari::matchGeneral(), osl::rating::DefenseKing8::matchMove(), moveFromX(), moveFromY(), newAddFrom(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::record::opening::OMove::OMove(), osl::rating::Check::openLong(), osl::search::OrderSpecifiedPiece::operator()(), RemoveMoveFromYEqual::operator()(), RemoveMoveFromXEqual::operator()(), RemoveMoveFromYLTE::operator()(), RemoveMoveFromYUnder::operator()(), RemoveMoveFromXLTE::operator()(), RemoveMoveFromXUnder::operator()(), RemoveMoveFromYGTE::operator()(), RemoveMoveFromYOver::operator()(), RemoveMoveFromXGTE::operator()(), RemoveMoveFromXOver::operator()(), SortMoveFromYDesc::operator()(), SortMoveFromY::operator()(), SortMoveFromXDesc::operator()(), SortMoveFromX::operator()(), osl::operator<<(), osl::search::MoveMarker::pieceIndex(), osl::search::QuiescenceGenerator< P >::promote(), rotate180(), osl::record::OKisenStream::save(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::eval::See::seeInteral(), osl::record::KanjiMove::selectCandidates(), osl::ntesuki::NtesukiMoveGenerator::setOrder(), osl::record::psn::show(), osl::record::ki2::show(), osl::record::csa::show(), osl::record::psn::showXP(), osl::search::QuiescenceSearch2< EvalT >::takeBackOrChase(), osl::progress::PtypeProgress::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::progress::Effect5x3WithBonus::update(), osl::eval::endgame::AttackDefense::update(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::OpenMidEndingEval::updateSub(), osl::search::QuiescenceGenerator< P >::utilizePromoted(), osl::search::StateElements::validCaptureMove(), osl::search::StateElements::validSimpleMove(), と osl::search::HistoryTable::value().

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

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

move.h132 行で定義されています。

参照先 move.

bool osl::Move::hasIgnoredUnpromote ( Player  pl  )  const [inline]

move.h310 行で定義されています。

参照先 osl::BLACK.

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

MoveをunpromoteするとcutUnpromoteなMoveになる.

move.h297 行で定義されています。

参照先 osl::BLACK, isPromote(), osl::PBISHOP, osl::PLANCE, player(), osl::PPAWN, osl::PROOK, ptype(), と to().

参照元 osl::checkmate::Dfpn::generateCheck(), と osl::checkmate::Dfpn::generateEscape().

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

move.h289 行で定義されています。

参照先 osl::BLACK.

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

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

TODO 遅い

move.h284 行で定義されています。

参照先 from(), isDrop(), player(), ptype(), と to().

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

move.h268 行で定義されています。

参照先 osl::BISHOP, osl::BLACK, osl::Position::canPromote(), osl::LANCE, osl::PAWN, osl::ROOK, と osl::Position::y().

void osl::Move::init ( Position  from,
Position  to,
Ptype  ptype,
Ptype  capture_ptype,
bool  is_promote,
Player  player 
) [inline, private]

move.h68 行で定義されています。

参照先 BitOffsetPromote, move, と osl::Position::uintValue().

参照元 Move().

int osl::Move::intValue (  )  const [inline]
static const Move osl::Move::INVALID (  )  [inline, static]

move.h90 行で定義されています。

参照先 INVALID_VALUE, と Move().

参照元 osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::LRUMoves::clear(), osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively(), osl::ntesuki::NtesukiMove::INVALID(), osl::game_playing::BookPlayer::moveByBook(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::Generator::nextMove(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::Generator::pickUpMove(), osl::search::SearchBase< EvalT, SimpleHashTable, CountRecorder, RealizationProbability >::recordLoseByCheckmate(), osl::game_playing::CuiClient::run(), osl::game_playing::SearchPlayer::search(), osl::ntesuki::NtesukiSearcher::search(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::game_playing::SpeculativeSearchPlayer::selectBestMove(), osl::game_playing::RandomPlayer::selectBestMove(), osl::game_playing::ResignPlayer::selectBestMove(), osl::game_playing::WinCountTracer::selectMove(), osl::game_playing::DeterminateWeightTracer::selectMove(), osl::game_playing::WeightTracer::selectMove(), osl::game_playing::RecordTracer::selectMove(), osl::game_playing::NullBook::selectMove(), osl::game_playing::WeightTracer::selectMoveAtRandom(), osl::ntesuki::NtesukiRecord::setUpDefenseNode(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::record::KanjiMove::strToMove(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::testMove(), と osl::game_playing::SpeculativeAllMoves::waitResult().

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

move.h141 行で定義されています。

参照先 from(), isNormal(), と osl::Position::isPieceStand().

参照元 osl::search::HistoryTable::add(), osl::search::MoveGenerator::addCapture(), osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), adjustMove(), osl::ntesuki::NtesukiSimulationSearcher::adjustMove(), osl::ntesuki::NtesukiTable::allocateWithMove(), osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::checkmate::ProofPieces::attack(), osl::checkmate::OracleAdjust::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::QuiescenceGenerator< P >::check(), osl::search::HistoryTable::clear(), osl::checkmate::ProofNumberTable::countLiberty(), osl::checkmate::FixedDepthSearcher2::defense(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::Dfpn::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::PieceStand::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandCombination::evalWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::eval::PieceEval::expect(), osl::eval::MinorPieceBonus::expect(), osl::eval::endgame::AttackDefense::expect(), osl::search::BreakThreatmate::findBlockLong(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::FromEffectGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::search::BreakThreatmate::generate(), osl::ntesuki::generate_all_moves(), osl::search::BreakThreatmate::generateAddEffect(), osl::search::MoveGenerator::generateAll(), osl::checkmate::FixedDepthSearcher2::generateBlockingWhenLiberty0(), osl::checkmate::FixedDepthSearcher::generateBlockingWhenLiberty0(), osl::search::MoveGenerator::generateTakeBack(), osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), osl::checkmate::FixedDepthSearcher2::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), ignoreUnpromote(), osl::rating::DropPtype::index(), osl::rating::PinAttack::index(), osl::rating::Open::index(), is_safe_move(), osl::rating::Threatmate::isCandidate(), osl::ntesuki::NtesukiMove::isDrop(), osl::move_classifier::ConditionAdaptor< Classifier >::isMember(), osl::checkmate::ProofDisproof::isPawnDropFoul(), osl::rating::LongTarget::isPromotable(), osl::ntesuki::NtesukiSimulationSearcher::isSafeMove(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::rating::DropPtype::match(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::PawnAttack::match(), osl::rating::RookDefense::match(), osl::rating::Chase::match(), osl::rating::ImmediateEscape::match(), osl::rating::PtypeAttacked::match(), osl::rating::FromEffect::match(), osl::rating::DropCaptured::match(), osl::annotate::CheckmateForEscape::match(), osl::rating::DefenseKing8::matchDrop(), osl::rating::DefenseKing8::matchMove(), osl::PieceStand::nextStand(), osl::rating::Check::openLong(), osl::search::MoveMarker::pieceIndex(), osl::PieceStand::previousStand(), osl::checkmate::Dfpn::proofOracleAttack(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), osl::record::OKisenStream::save(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta3::seePlusLight(), osl::record::KanjiMove::strToMove(), osl::checkmate::Dfpn::ProofOracle::traceable(), osl::progress::PtypeProgress::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::eval::PieceEval::update(), osl::eval::MinorPieceBonus::update(), osl::eval::endgame::AttackDefense::update(), osl::progress::ml::NewProgress::updateMain(), osl::progress::Effect5x3::updateStand(), osl::eval::ml::OpenMidEndingEval::updateSub(), osl::progress::ml::NewProgress::updateSub(), と osl::search::HistoryTable::value().

bool osl::Move::isInvalid (  )  const [inline]
bool osl::Move::isNormal (  )  const [inline]

INVALID でも PASS でもない.

isValid()かどうかは分からない.

move.h83 行で定義されています。

参照先 move.

参照元 osl::search::BestMoves::add(), osl::search::HistoryTable::add(), 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::search::QuiescenceSearch2< EvalT >::examineTakeBack2(), osl::record::csa::fancyShow(), osl::checkmate::Dfpn::findDagSource(), osl::rating::ChaseGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::search::BreakThreatmate::generate(), osl::search::MoveGenerator::generateBreakThreatmate(), osl::search::MoveGenerator::generateTakeBack(), osl::search::MoveGenerator::generateTesuji(), osl::search::KillerMoveTable::getMove(), osl::checkmate::Dfpn::grandParentSimulationSuitable(), osl::checkmate::FixedDepthSearcher2::hasCheckmateWithGuide(), osl::checkmate::FixedDepthSearcher::hasCheckmateWithGuide(), osl::checkmate::Dfpn::hasEscapeMove(), osl::rating::ImmediateAddSupport::index(), osl::rating::BigramAttack::index(), osl::search::MoveGenerator::init(), osl::state::NumEffectState::isAlmostValidMove(), isDrop(), osl::ntesuki::NtesukiMove::isNormal(), osl::checkmate::ProofDisproof::isPawnDropFoul(), isPromote(), isValid(), osl::checkmate::DualDfpn::isWinningState(), osl::record::kakinokiParseLine(), osl::search::AlphaBeta3::makeMoveAndSearch(), osl::rating::PawnAttack::match(), osl::rating::Chase::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::ImmediateEscape::match(), osl::annotate::Vision3::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(), promote(), promoteMask(), osl::checkmate::Dfpn::proofOracleAttack(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), osl::search::MoveGenerator::registerMove(), osl::checkmate::ProofTreeDepthDfpn::retrievePV(), rotate180(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::run(), osl::game_playing::SearchPlayer::search(), search(), osl::search::AlphaBeta3::search(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::AlphaBeta3::searchRoot(), osl::game_playing::SpeculativeSearchPlayer::selectBestMove(), osl::game_playing::BookPlayer::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::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::checkmate::DualDfpn::writeRootHistory().

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

move.h87 行で定義されています。

参照先 move.

参照元 osl::apply_move::ApplyMoveOfTurn::doMove(), osl::apply_move::ApplyMoveOfTurn::doUndoMove(), osl::apply_move::ApplyMove< P >::doUndoMoveOrPass(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::QuiescenceSearch2< EvalT >::examineTakeBack2(), osl::eval::ProgressEvalGeneral< OpeningEval >::expect(), osl::eval::PieceEval::expect(), osl::eval::ml::OpenMidEndingEval::expect(), osl::ntesuki::NtesukiMove::isPass(), isValidOrPass(), osl::search::SearchState2Core::makePV(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::operator<<(), osl::search::MoveMarker::pieceIndex(), osl::search::AlphaBeta3::presearch(), osl::RepetitionCounter::push(), rotate180(), run(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::SearchState2::setKillerMove(), osl::search::SearchState2Core::setKillerMove(), osl::search::BigramKillerMove::setMove(), osl::record::usi::show(), osl::record::ki2::show(), osl::record::csa::show(), osl::record::psn::showXP(), osl::search::QuiescenceSearch2< EvalT >::takeBackValue(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::eval::PieceEval::update(), osl::eval::ml::OpenMidEndingEval::update(), osl::eval::endgame::AttackDefense::update(), と osl::progress::ml::NewProgress::updateSub().

bool osl::Move::isPromote (  )  const [inline]
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 ( Position  new_from  )  const [inline]

move.h203 行で定義されています。

参照先 from(), intValue(), isNormal(), makeDirect(), result, と osl::Position::uintValue().

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

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

move.h262 行で定義されています。

参照先 intValue(), makeDirect(), ptype(), と osl::PTYPE_EMPTY.

Move osl::Move::newAddTo ( Position  pos  )  const [inline]

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

move.h255 行で定義されています。

参照先 intValue(), makeDirect(), と osl::Position::uintValue().

Move osl::Move::newAddTo ( Offset  o  )  const [inline]
const Move osl::Move::newCapture ( Ptype  capture  )  const [inline]

move.h223 行で定義されています。

参照先 osl::Piece::BitOffsetPtype, intValue(), と makeDirect().

const Move osl::Move::newCapture ( Piece  capture  )  const [inline]
Move osl::Move::newFrom ( Position  new_from  )  const [inline]

move.h195 行で定義されています。

参照先 intValue(), isNormal(), makeDirect(), result, と osl::Position::uintValue().

参照元 osl::checkmate::OracleAdjust::attack().

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]

move.h183 行で定義されています。

参照先 isInvalid(), move, と result.

参照元 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(), 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::apply_move::ApplyMoveOfTurn::doMove(), osl::apply_move::ApplyMoveWithPath< P >::doUndoMove(), osl::apply_move::ApplyMoveOfTurn::doUndoMove(), osl::apply_move::ApplyMove< P >::doUndoMove(), osl::apply_move::ApplyMoveWithPath< P >::doUndoMoveOrPass(), osl::apply_move::ApplyMove< P >::doUndoMoveOrPass(), osl::checkmate::CheckmateIfCapture::effectiveAttack(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::OpenMidEndingEval::expect(), osl::progress::Effect5x3WithBonus::expect(), osl::progress::Effect5x3::expect(), osl::rating::PatternLong2::find(), osl::rating::PatternLong::find(), osl::search::BreakThreatmate::findBlockLong(), osl::eval::See::findEffectPiecesAfterMove(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternLongGroup::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::BadLanceGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::rating::ShadowEffectGroup::findMatch(), osl::ntesuki::NtesukiTable::findWithMove(), osl::ntesuki::NtesukiTable::findWithMoveConst(), osl::search::BreakThreatmate::generate(), hasIgnoredUnpromote(), ignoreUnpromote(), osl::rating::Karanari::index(), osl::rating::Open::index(), osl::rating::BigramAttack::index(), osl::rating::BigramAttack::indexOfMove(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::rating::LongTarget::isPromotable(), osl::move_classifier::isSafeMove(), isValid(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::rating::RelativeKingX::makeX(), osl::rating::PositionY::makeY(), osl::rating::RelativeKingY::makeY(), osl::rating::PatternBlock::match(), osl::rating::LongTarget2::match(), osl::rating::LongTarget::match(), osl::rating::Pattern::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::BadLance::match(), osl::rating::RookDefense::match(), osl::rating::ToSupported::match(), osl::rating::PtypeAttacked::match(), osl::rating::CheckmateIfCapture::match(), osl::rating::ShadowEffect2::match(), osl::rating::ShadowEffect1::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::nextPosition(), 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(), rotate180(), 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::ki2::show(), osl::record::csa::show(), osl::record::psn::showXP(), osl::checkmate::Dfpn::ProofOracle::traceable(), osl::game_playing::WinCountTracer::update(), osl::game_playing::WeightTracer::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::eval::ml::OpenMidEndingEval::update(), osl::eval::MinorPieceBonus::update(), osl::progress::Effect5x3::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().

const Move osl::Move::promote (  )  const [inline]
int osl::Move::promoteMask (  )  const [inline]
Ptype osl::Move::ptype (  )  const [inline]

move.h143 行で定義されています。

参照先 isInvalid(), isValidOrPass(), move, move_assert, と result.

参照元 osl::search::HistoryTable::add(), osl::search::MoveGenerator::addCapture(), osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), osl::ntesuki::NtesukiTable::allocateWithMove(), osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::checkmate::ProofPieces::attack(), osl::checkmate::OracleAdjust::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::FixedDepthSearcher2::defense(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::FixedDepthSearcher2::defenseEstimation(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::LibertyEstimator::defenseH(), osl::apply_move::ApplyMoveOfTurn::doMove(), osl::apply_move::ApplyMove< P >::doUndoMove(), 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::PieceStandY::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::QuiescenceSearch2< EvalT >::examineTakeBack2(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::eval::MinorPieceBonus::expect(), osl::rating::EscapePinGroup::findMatch(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternLongGroup::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::DefenseKing8Group::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::KingEscapeGroup::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::rating::RelativeKingY::index(), osl::rating::RelativeKingX::index(), osl::rating::DropPtype::index(), osl::rating::PinAttack::index(), osl::rating::Karanari::index(), osl::rating::ImmediateAddSupport::index(), is_safe_move(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::move_classifier::MoveAdaptor< Classifier >::isMember(), osl::search::FirstMoveThreatmate::isMember(), osl::checkmate::ProofDisproof::isPawnDropFoul(), osl::move_classifier::isSafeMove(), osl::ntesuki::NtesukiSimulationSearcher::isSafeMove(), isValid(), osl::rating::Threatmate::knight2Step(), osl::rating::RelativeKingY::match(), osl::rating::RelativeKingX::match(), osl::rating::DropPtype::match(), osl::rating::EscapePin::match(), osl::rating::PinAttack::match(), osl::rating::PatternBlock::match(), osl::rating::PatternLong2::match(), osl::rating::PatternLong::match(), osl::rating::Pattern::match(), osl::rating::DefenseKing8::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::PawnAttack::match(), osl::rating::Chase::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::KingEscape::match(), osl::rating::ImmediateEscape::match(), osl::rating::DropCaptured::match(), osl::rating::DefenseKing8::matchMove(), newAddPtype(), osl::PieceStand::nextStand(), osl::record::opening::OMove::OMove(), osl::operator<<(), osl::search::MoveMarker::pieceIndex(), osl::threatmate::TreePredictor::predict(), osl::threatmate::MlPredictor::predict(), osl::threatmate::KfendPredictor::predict(), osl::PieceStand::previousStand(), osl::threatmate::TreePredictor::probability(), osl::search::QuiescenceGenerator< P >::promote(), promote(), osl::checkmate::Dfpn::proofOracleAttack(), osl::ntesuki::NtesukiMove::ptype(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), rotate180(), osl::record::OKisenStream::save(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::record::psn::show(), osl::record::csa::show(), osl::record::psn::showXP(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::checkmate::Dfpn::ProofOracle::traceable(), unpromote(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::eval::MinorPieceBonus::update(), osl::progress::Effect5x3::update(), osl::eval::endgame::AttackDefense::update(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::progress::ml::NewProgress::updateMain(), osl::progress::Effect5x3::updateStand(), osl::eval::ml::OpenMidEndingEval::updateSub(), osl::progress::ml::NewProgress::updateSub(), と osl::search::HistoryTable::value().

PtypeO osl::Move::ptypeO (  )  const [inline]

移動後のPtype, i.e., 成る手だった場合成った後

move.h150 行で定義されています。

参照先 isInvalid(), move, と result.

参照元 osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), osl::search::QuiescenceGenerator< P >::attackMajorPieceZerothSelection(), osl::search::QuiescenceGenerator< P >::check(), osl::eval::PieceEval::computeDiffAfterMove(), osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::eval::PieceEval::diffWithMove(), osl::eval::ppair::PiecePairWithStand< PiecePairPieceTable >::diffWithUpdate(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::search::QuiescenceGenerator< P >::escapeFromLastMoveOtherThanPawn(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::QuiescenceSearch2< EvalT >::examineTakeBack2(), osl::eval::PieceEval::expect(), osl::eval::endgame::AttackDefense::expect(), osl::rating::AttackKing8Group::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::checkmate::Dfpn::generateCheck(), osl::importantMove(), osl::rating::PinAttack::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::Threatmate::isCandidate(), osl::move_classifier::AttackDefenceAroundKing< P >::isMember(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::Chase::match(), osl::rating::ImmediateEscape::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::seeInteral(), osl::search::BigramKillerMove::setMove(), osl::ntesuki::NtesukiMoveGenerator::setOrder(), osl::search::QuiescenceSearch2< EvalT >::takeBackOrChase(), osl::search::SearchState2Core::tryThreatmate(), osl::progress::PtypeProgress::update(), osl::eval::PieceEval::update(), と osl::eval::endgame::AttackDefense::update().

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

move.cc27 行で定義されています。

参照先 osl::alt(), capturePtype(), from(), isNormal(), isPass(), isPromote(), Move(), PASS(), player(), ptype(), と to().

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

move.h125 行で定義されています。

参照先 isInvalid(), isValidOrPass(), makeDirect(), move, move_assert, と result.

参照元 osl::search::HistoryTable::add(), osl::search::MoveGenerator::addCapture(), osl::search::StateElements::addMyMove(), osl::search::StateElements::addOpMove(), adjustMove(), osl::ntesuki::NtesukiSimulationSearcher::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::checkmate::Dfpn::blockingSimulation(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::search::ShouldPromoteCut::canIgnoreMove(), osl::rating::Threatmate::captureForKnightCheck(), osl::search::QuiescenceGenerator< P >::check(), osl::search::HistoryTable::clear(), osl::eval::PieceEval::computeDiffAfterMove(), osl::search::SacrificeCheck::count2(), osl::checkmate::ProofNumberTable::countLiberty(), osl::checkmate::Dfpn::defense(), osl::checkmate::LibertyEstimator::defenseH(), osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), osl::apply_move::ApplyMoveOfTurn::doMove(), osl::apply_move::ApplyMove< P >::doUndoMove(), 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::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King25EmptyPositionNoEffect::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::QuiescenceSearch2< EvalT >::examineTakeBack2(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::eval::endgame::AttackDefense::expect(), osl::rating::PatternLong2::find(), osl::rating::PatternBlock::find(), osl::rating::PatternLong::find(), osl::search::BreakThreatmate::findBlockLong(), osl::eval::See::findEffectPiecesAfterMove(), osl::eval::TakeBackValue::findEffectPiecesAfterMove(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::BadLanceGroup::findMatch(), osl::rating::BlockGroup::findMatch(), osl::rating::SendOffGroup::findMatch(), osl::rating::TakeBackGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::rating::ShadowEffectGroup::findMatch(), osl::rating::ImmediateEscapeGroup::findMatchWithoutProgress(), osl::search::BreakThreatmate::generate(), osl::search::BreakThreatmate::generateAddEffect(), osl::search::MoveGenerator::generateAll(), osl::checkmate::FixedDepthSearcher2::generateBlockingWhenLiberty0(), osl::checkmate::FixedDepthSearcher::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::PinAttack::index(), osl::rating::Karanari::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::BigramAttack::indexOfMove(), is_safe_move(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::rating::Threatmate::isCandidate(), osl::state::NumEffectState::isConsistent(), osl::move_classifier::PlayerMoveAdaptor< Classifier >::isMember(), osl::move_classifier::MoveAdaptor< Classifier >::isMember(), osl::search::FirstMoveThreatmate::isMember(), osl::move_classifier::AttackDefenceAroundKing< P >::isMember(), osl::rating::LongTarget::isPromotable(), osl::move_classifier::isSafeMove(), osl::ntesuki::NtesukiSimulationSearcher::isSafeMove(), isValid(), osl::search::QuiescenceGenerator< P >::kingWalk(), osl::rating::Threatmate::knight2Step(), osl::rating::PositionX::makeX(), osl::rating::RelativeKingX::makeX(), osl::rating::PositionY::makeY(), osl::rating::RelativeKingY::makeY(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::PawnAttack::match(), osl::rating::BadLance::match(), osl::rating::RookDefense::match(), osl::rating::Chase::match(), osl::rating::Block::match(), osl::rating::SendOff::match(), osl::rating::TakeBack2::match(), osl::rating::TakeBack::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::ImmediateEscape::match(), osl::rating::ToSupported::match(), osl::rating::CheckmateIfCapture::match(), osl::rating::ShadowEffect2::match(), osl::rating::ShadowEffect1::match(), osl::annotate::Vision3::match(), osl::annotate::CheckmateForEscape::match(), osl::annotate::CheckmateForCapture::match(), osl::rating::DefenseKing8::matchDrop(), osl::rating::Karanari::matchGeneral(), osl::rating::DefenseKing8::matchMove(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::search::AlphaBeta3::nextMove(), osl::rating::Pattern::nextPosition(), osl::record::opening::OMove::OMove(), osl::move_order::CaptureEstimation::operator()(), osl::operator<<(), osl::search::BigramKillerMove::operator[](), osl::threatmate::TreePredictor::predict(), osl::threatmate::RichPredictor::predict(), osl::threatmate::MlPredictor::predict(), osl::threatmate::KfendPredictor::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(), rotate180(), osl::record::OKisenStream::save(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::eval::See::seeInteral(), osl::search::AlphaBeta3::seePlusLight(), osl::search::BigramKillerMove::setMove(), osl::ntesuki::NtesukiMoveGenerator::setOrder(), osl::record::psn::show(), osl::record::ki2::show(), osl::record::csa::show(), osl::record::psn::showXP(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::search::QuiescenceSearch2< EvalT >::staticValueWithThreat(), osl::record::KanjiMove::strToMove(), osl::record::kakinoki::strToMove(), osl::search::QuiescenceSearch2< EvalT >::takeBackOrChase(), osl::search::QuiescenceSearch2< EvalT >::takeBackValue(), test_position(), osl::ntesuki::NtesukiMove::to(), osl::search::MoveMarker::toIndex(), osl::search::SearchState2Core::tryThreatmate(), osl::progress::PtypeProgress::update(), osl::eval::ProgressEvalGeneral< OpeningEval >::update(), osl::progress::Effect5x3WithBonus::update(), osl::eval::endgame::AttackDefense::update(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::OpenMidEndingEval::updateSub(), osl::search::QuiescenceGenerator< P >::utilizePromoted(), osl::search::StateElements::validCaptureMove(), osl::search::StateElements::validSimpleMove(), と osl::search::HistoryTable::value().

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

promote moveからunpromote moveを作る

move.h231 行で定義されています。

参照先 BitOffsetPromote, intValue(), isNormal(), isPromote(), osl::isPromoted(), makeDirect(), move_assert, と ptype().

参照元 osl::checkmate::Dfpn::generateCheck(), と osl::checkmate::Dfpn::generateEscape().


変数

move.h51 行で定義されています。

参照元 init(), isPromote(), oldPtype(), oldPtypeO(), promote(), promoteMask(), と unpromote().

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

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

move.h66 行で定義されています。

int osl::Move::move [private]

このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:57:48 2010に生成されました。  doxygen 1.6.3