クラス osl::Position

#include <position.h>

すべてのメンバ一覧

Public 型

enum  { PIECE_STAND = 0, MIN = 0, SIZE = 0x100 }

Public メソッド

unsigned int uintValue () const
 Position ()
 Position (int x, int y)
int x () const
 将棋としてのX座標を返す.
int y () const
 将棋としてのY座標を返す.
int y1 () const
 y+1を返す
unsigned int index () const
int indexForOffset32 () const
bool isPieceStand () const
bool isOnBoardSlow () const
bool isOnBoard () const
 盤面上を表すかどうかの判定. 1<=x() && x()<=9 && 1<=y() && y()<=9 Positionの内部表現に依存する.
bool isEdge () const
 onBoardから8近傍のオフセットを足した点がedgeかどうかの判定 そこそこ速くなった.
bool isValid () const
const Position positionForBlackSlow (Player player) const
const Position positionForBlack (Int2Type< BLACK >) const
const Position positionForBlack (Int2Type< WHITE >) const
template<Player P>
const Position positionForBlack () const
 後手の場合は盤面を引っくり返す.
const Position positionForBlack (Player player) const
const Position rotate180 () const
const Position rotate180EdgeOK () const
const Position rotate180Safe () const
const Position flipHorizontal () const
bool isOnBoardRegion () const
 posがONBOARD_MINとONBOARD_MAXの間にある
Positionoperator++ ()
template<Player P>
bool canPromote () const
bool canPromote (Player player) const
bool isULRD (Position pos) const
 2つのPosition(onBoardであることが前提)が, xが等しいかyが等しい
bool isUD (Position pos) const
 2つのPosition(onBoardであることが前提)のxが等しい
template<Player P>
bool isU (Position pos) const
 posがPlayer Pにとって上
bool isLR (Position pos) const
 2つのPosition(onBoardであることが前提)のyが等しい
Positionoperator+= (Offset offset)
Positionoperator-= (Offset offset)
const Position operator+ (Offset offset) const
const Position operator- (Offset offset) const
const Offset operator- (Position other) const
template<int Y>
bool yEq ()
template<int Y>
bool yLe (typename boost::enable_if_c< Y!=2 >::type *=0)
template<int Y>
bool yLe (typename boost::enable_if_c< Y==2 >::type *=0)
template<int Y>
bool yGe (typename boost::enable_if_c< Y!=7 >::type *=0)
template<int Y>
bool yGe (typename boost::enable_if_c< Y==7 >::type *=0)

Static Public メソッド

static const Position makeDirect (int value)
static const Position STAND ()
static const Position makeNoCheck (int x, int y)
 assertなしに作る
static const Position nth (unsigned int i)
static unsigned int indexMax ()
static const Position onBoardMax ()
static const Position onBoardMin ()
static int reverseX (int x)
static int reverseY (int y)
template<Player P>
static bool canPromoteY (int y)

Private メソッド

 Position (int p)
bool canPromote (Int2Type< BLACK >) const
bool canPromote (Int2Type< WHITE >) const

Static Private メソッド

template<Player P>
static bool canPromoteY (int y, Int2Type< P >)
static bool canPromoteY (int y, Int2Type< BLACK >)
static bool canPromoteY (int y, Int2Type< WHITE >)

Private 変数

unsigned int position

説明

position.h40 行で定義されています。


列挙型

anonymous enum
列挙型の値:
PIECE_STAND 
MIN 
SIZE 

position.h49 行で定義されています。


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

osl::Position::Position ( int  p  )  [inline, explicit, private]

position.h43 行で定義されています。

osl::Position::Position (  )  [inline]
osl::Position::Position ( int  x,
int  y 
) [inline]

position.h58 行で定義されています。

参照先 position, と SIZE.


関数

bool osl::Position::canPromote ( Player  player  )  const [inline]

position.h199 行で定義されています。

参照先 osl::BLACK.

template<Player P>
bool osl::Position::canPromote (  )  const [inline]

position.h196 行で定義されています。

bool osl::Position::canPromote ( Int2Type< WHITE >   )  const [inline, private]

position.h189 行で定義されています。

参照先 uintValue().

bool osl::Position::canPromote ( Int2Type< BLACK >   )  const [inline, private]

position.h186 行で定義されています。

参照先 uintValue().

参照元 osl::search::QuiescenceGenerator< P >::attackGoldWithPawn(), osl::search::QuiescenceGenerator< P >::attackKnightWithPawn(), osl::search::QuiescenceGenerator< P >::attackMajorPieceFirstSelection(), osl::search::QuiescenceGenerator< P >::attackSilverWithPawn(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateAttackRooks(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateRookRankBonus(), osl::search::ShouldPromoteCut::canIgnore(), osl::search::QuiescenceGenerator< P >::check(), osl::eval::See::computeValue(), osl::eval::TakeBackValue::computeValue(), osl::effect_action::SimpleMove< Action >::doAction(), osl::effect_action::SimpleBetterToPromote< Action >::doAction(), osl::effect_action::Promote< Action >::doAction(), osl::effect_action::BetterToPromote< Action >::doAction(), osl::effect_action::AlwaysMove< Action >::doAction(), osl::effect_action::SimpleMove< Action >::doActionPtype(), osl::effect_action::SimpleBetterToPromote< Action >::doActionPtype(), osl::effect_action::Promote< Action >::doActionPtype(), osl::effect_action::BetterToPromote< Action >::doActionPtype(), osl::effect_action::AlwaysMove< Action >::doActionPtype(), osl::checkmate::PawnCheckmateMoves::effectiveOnlyIfPawnCheckmate(), osl::eval::ml::RookPawn< Opening >::eval(), osl::move_generator::promote::MayPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::piece_on_board::generateLong(), osl::move_generator::without_effect::generateLongMove(), osl::move_generator::addeffect8::generateLongMove(), osl::move_generator::without_effect::generateLongMoveDirectCanPromote(), osl::move_generator::without_effect::generateMove(), osl::move_generator::detail::generateMovePiecePtypeMask(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtypeUnsafe(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePieceUnsafe(), osl::move_generator::addeffect8::generateShortMove(), osl::search::BigramKillerMove::getMove(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::Move::ignoreUnpromote(), osl::rating::Karanari::index(), osl::rating::LongTarget::isPromotable(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::progress::Effect5x3WithBonus::makeProgressAreaBonus(), osl::rating::Karanari::match(), osl::rating::Karanari::matchGeneral(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::record::ki2::show(), osl::record::psn::showXP(), osl::search::StateElements::validCaptureMove(), と osl::search::StateElements::validSimpleMove().

template<Player P>
static bool osl::Position::canPromoteY ( int  y  )  [inline, static]

position.h194 行で定義されています。

参照先 canPromoteY().

参照元 canPromoteY().

static bool osl::Position::canPromoteY ( int  y,
Int2Type< WHITE >   
) [inline, static, private]

position.h182 行で定義されています。

static bool osl::Position::canPromoteY ( int  y,
Int2Type< BLACK >   
) [inline, static, private]

position.h178 行で定義されています。

template<Player P>
static bool osl::Position::canPromoteY ( int  y,
Int2Type< P >   
) [inline, static, private]
const Position osl::Position::flipHorizontal (  )  const [inline]
unsigned int osl::Position::index (  )  const [inline]

position.h81 行で定義されています。

参照先 MIN, と position.

参照元 osl::hash::HashGenTable::addHashKey(), osl::Centering5x3::adjustCenter(), osl::Centering3x3::adjustCenter(), osl::move_classifier::canAttackInThreeMoves(), osl::PositionCompressor::compress(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::effect::NumSimpleEffectTable::doEffectLong(), osl::effect::NumSimpleEffectTable::doEffectShort(), osl::search::BigramKillerMove::dump(), osl::checkmate::EdgeTable::EdgeTable(), osl::rating::PatternGroup::findMatch(), osl::progress::Effect5x3Table::getAttackEffect(), osl::effect::BoardBitMaskTable::getBishopMask(), osl::progress::Effect5x3Table::getDefenseEffect(), osl::move_generator::addeffect8::AddEffect8Table::getDropPosition(), osl::effect::NumSimpleEffectTable::getEffect(), osl::effect::BoardBitMaskTable::getLanceMask(), osl::move_generator::addeffect8::AddEffect8Table::getLongDrop2Position(), osl::move_generator::addeffect8::AddEffect8Table::getLongDropDirect(), osl::move_generator::addeffect8::AddEffect8Table::getLongDropPosition(), osl::effect::BoardBitMaskTable::getMask(), osl::state::SimpleState::getPieceAt(), osl::state::SimpleState::getPiecePtr(), osl::effect::BoardBitMaskTable::getRookMask(), osl::rating::CountEffect2::index(), osl::container::BoardMask::index(), osl::effect::BoardBitMaskTable::initBetweenMask(), osl::move_generator::addeffect8::AddEffect8Table::initDropPosition(), osl::move_generator::addeffect8::AddEffect8Table::initLongDropPosition(), osl::effect::BoardBitMaskTable::initMaskOfPosition(), isOnBoardRegion(), osl::eval::endgame::KingPieceTable::kingIndex(), main(), osl::container::BoardMaskTable5x3Center::mask(), osl::container::BoardMaskTable3x3::mask(), osl::container::BoardMaskTable5x5::mask(), osl::search::BigramKillerMove::operator[](), osl::eval::endgame::KingPieceTable::otherIndex(), osl::rating::PatternGroup::PatternGroup(), osl::progress::PtypeProgressTable::progress(), osl::progress::PtypeProgressTable::PtypeProgressTable(), osl::checkmate::EdgeTable::resetEdgeFromLiberty(), osl::ntesuki::Rzone::Rzone(), osl::state::SimpleState::setBoard(), osl::search::BigramKillerMove::setMove(), osl::progress::Effect5x3Table::setupAttackEffect(), osl::progress::Effect5x3Table::setupDefenseEffect(), osl::hash::HashGenTable::subHashKey(), osl::Centering5x3::Table::Table(), osl::Centering3x3::Table::Table(), osl::ntesuki::Rzone::test(), と osl::search::MoveMarker::toIndex().

int osl::Position::indexForOffset32 (  )  const [inline]

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

参照先 position.

static unsigned int osl::Position::indexMax (  )  [inline, static]

position.h82 行で定義されています。

参照先 MIN, と SIZE.

参照元 osl::ntesuki::Rzone::Rzone().

bool osl::Position::isEdge (  )  const [inline]
bool osl::Position::isLR ( Position  pos  )  const [inline]

2つのPosition(onBoardであることが前提)のyが等しい

position.h238 行で定義されています。

参照先 isOnBoard(), と uintValue().

参照元 osl::move_generator::detail::generateRookLongMove().

bool osl::Position::isOnBoard (  )  const [inline]

盤面上を表すかどうかの判定. 1<=x() && x()<=9 && 1<=y() && y()<=9 Positionの内部表現に依存する.

position.h92 行で定義されています。

参照先 position.

参照元 adjust(), osl::checkmate::detail::blockingDiagonalAttack(), osl::checkmate::detail::blockingVerticalAttack(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateSilverPenalty(), osl::eval::ml::KnightCheck::canCheck(), osl::eval::ml::GoldFeatures::canMoveToSide(), osl::rating::CountEffect2::count(), osl::state::NumEffectState::countEffect(), osl::mobility::countMobilityBoth(), osl::checkmate::FixedDepthSearcher2::defense(), osl::checkmate::FixedDepthSearcher::defense(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::GoldFeatures::evalOne(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::King25EmptyAbs< Opening >::evalOne(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::move_generator::Capture< Action >::generate(), osl::move_generator::detail::generateBishopLongMove(), osl::move_generator::detail::generateBishopLongMoveNotKing(), osl::move_generator::Escape< Action >::generateBlocking(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::detail::generateKnightDir(), osl::move_generator::addeffect8::generateLongMove(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::move_generator::addeffect8::generateShortMove(), osl::move_generator::CaptureEffectToAroundKing8< P >::generateTo(), osl::move_generator::AddEffect8Defense< P >::generateTo(), osl::progress::Effect5x3Table::getAttackEffect(), osl::effect::BoardBitMaskTable::getBishopMask(), osl::progress::Effect5x3Table::getDefenseEffect(), osl::PtypeTable::getEffect(), osl::PtypeTable::getEffectNotLongU(), osl::effect::BoardBitMaskTable::getLanceMask(), osl::effect::Liberty8Table::getLongEffect(), osl::effect::Liberty8Table::getLongEffect2(), osl::effect::BoardBitMaskTable::getMask(), osl::move_generator::AddEffectTable::getNearMask(), osl::move_generator::AddEffectTable::getNearMaskLong(), osl::move_generator::AddEffectTable::getNearMaskPBISHOP(), osl::move_generator::AddEffectTable::getNearMaskPROOK(), osl::move_generator::AddEffectTable::getNearMaskWithPromote(), osl::move_generator::AddEffectTable::getOffsetLong(), osl::move_generator::AddEffectTable::getOffsetPBISHOP(), osl::move_generator::AddEffectTable::getOffsetPROOK(), osl::state::SimpleState::getPieceOnBoard(), osl::effect::BoardBitMaskTable::getRookMask(), osl::BoardTable::getShort8(), osl::effect::Liberty8Table::getShortMask(), osl::effect_util::Neighboring8Effect::Table::hasAtMaxPieceBetween(), osl::checkmate::ImmediateCheckmate::hasCheckmateMove(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDir(), osl::state::NumEffectState::hasEffectBy(), osl::state::NumEffectState::hasEffectByNotPinned(), osl::state::NumEffectState::hasEffectByPiece(), osl::effect_util::Neighboring8Effect::hasEffectFromTo(), osl::effect_util::Neighboring8Direct::hasEffectFromTo(), osl::effect_util::Neighboring25Direct::hasEffectFromTo(), osl::checkmate::detail::hasKnightCheckmate(), osl::rating::CountEffect2::index(), osl::move_generator::addeffect8::AddEffect8Table::initDropPosition(), osl::move_generator::addeffect8::AddEffect8Table::initLongDropPosition(), osl::state::SimpleState::isEmptyBetween(), isLR(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::rating::LongTarget::isPromotable(), isU(), isUD(), isULRD(), isValid(), osl::Move::isValid(), main(), osl::effect_util::Pin::makeByPiece(), osl::effect_util::Pin::makeByPieceKing(), osl::effect_util::Pin::makeNaive(), osl::Move::Move(), osl::rating::PatternLong::nextPieceOrEnd(), osl::rating::Pattern::nextPosition(), osl::BoardTable::nextPosition(), osl::effect::AddMaskAction< Liberty, P, T >::operator()(), osl::eval::ml::PinPtypeAll::pawnAttack(), positionForBlack(), osl::effect::BoardBitMask::positionToOffset(), osl::threatmate::RichPredictor::predict(), osl::ntesuki::Rzone::Rzone(), osl::eval::ml::PiecePair::sanitize(), と osl::ntesuki::NtesukiMoveGenerator::setOrder().

bool osl::Position::isOnBoardRegion (  )  const [inline]

posがONBOARD_MINとONBOARD_MAXの間にある

position.h163 行で定義されています。

参照先 index(), onBoardMax(), と onBoardMin().

bool osl::Position::isOnBoardSlow (  )  const

position.cc9 行で定義されています。

参照先 x(), と y().

bool osl::Position::isPieceStand (  )  const [inline]

position.h85 行で定義されています。

参照先 PIECE_STAND, と position.

参照元 osl::checkmate::LibertyEstimator::attackH(), osl::checkmate::attackProofCost(), osl::search::ShouldPromoteCut::canIgnore(), osl::eval::PieceEval::computeDiffAfterMove(), osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >::diffWithMove(), osl::eval::ml::BishopRookFork::evalOne(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::eval::ml::BishopRookFork::findDropInLine(), osl::rating::AttackKing8Group::findMatch(), flipHorizontal(), osl::move_generator::promote::MayPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::promote::AllPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::move_generator::addeffect8::generateShortDrop(), osl::search::BigramKillerMove::getMove(), osl::state::NumEffectState::inCheck(), osl::eval::ml::PiecePair::index(), osl::rating::CountOpen::index(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::Move::isDrop(), isEdge(), osl::move_classifier::TrapRook< P >::isMember(), osl::move_classifier::SafeMove< P >::isMember(), osl::move_classifier::PawnDropCheckmate< P >::isMember(), osl::move_classifier::Check< P >::isMember(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::Piece::isOnBoard(), osl::move_classifier::isSafeMove(), isValid(), osl::eval::ppair::PiecePairRawTable::loadFromBinaryFile(), osl::state::NumEffectState::makePinOpen(), osl::rating::AttackKing8::match(), osl::rating::RookDefense::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::record::opening::OMove::OMove(), osl::operator<<(), osl::eval::ml::PiecePair::pieceValueDouble(), osl::record::OPiece::position2Bits(), osl::state::NumEffectState::recalcPinOpen(), rotate180Safe(), run(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::record::psn::show(), osl::record::ki2::show(), osl::record::csa::show(), osl::record::psn::showXP(), osl::record::kakinoki::strToMove(), と osl::eval::ml::PiecePair::valueCompiled().

template<Player P>
bool osl::Position::isU ( Position  pos  )  const [inline]

posがPlayer Pにとって上

position.h227 行で定義されています。

参照先 osl::BLACK, isOnBoard(), と uintValue().

参照元 osl::checkmate::detail::blockingVerticalAttack().

bool osl::Position::isUD ( Position  pos  )  const [inline]

2つのPosition(onBoardであることが前提)のxが等しい

position.h218 行で定義されています。

参照先 isOnBoard(), と uintValue().

参照元 osl::move_generator::detail::generateRookLongMove().

bool osl::Position::isULRD ( Position  pos  )  const [inline]

2つのPosition(onBoardであることが前提)が, xが等しいかyが等しい

position.h210 行で定義されています。

参照先 isOnBoard(), と uintValue().

参照元 osl::move_generator::detail::generateRookLongMove(), と osl::move_generator::detail::generateRookLongMoveNotKing().

bool osl::Position::isValid (  )  const
static const Position osl::Position::makeDirect ( int  value  )  [inline, static]
static const Position osl::Position::makeNoCheck ( int  x,
int  y 
) [inline, static]
static const Position osl::Position::nth ( unsigned int  i  )  [inline, static]

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

参照先 MIN, と Position().

参照元 osl::hash::HashGenTable::HashGenTable().

static const Position osl::Position::onBoardMax (  )  [inline, static]

position.h157 行で定義されています。

参照先 Position().

参照元 isOnBoardRegion().

static const Position osl::Position::onBoardMin (  )  [inline, static]

position.h158 行で定義されています。

参照先 Position().

参照元 isOnBoardRegion(), と osl::search::MoveMarker::toIndex().

const Position osl::Position::operator+ ( Offset  offset  )  const [inline]

position.h251 行で定義されています。

参照先 result.

Position& osl::Position::operator++ (  )  [inline]

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

参照先 position.

Position& osl::Position::operator+= ( Offset  offset  )  [inline]

position.h243 行で定義されています。

参照先 osl::Offset::intValue(), と position.

const Offset osl::Position::operator- ( Position  other  )  const [inline]

position.h259 行で定義されています。

参照先 makeDirect(), と position.

const Position osl::Position::operator- ( Offset  offset  )  const [inline]

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

参照先 result.

Position& osl::Position::operator-= ( Offset  offset  )  [inline]

position.h247 行で定義されています。

参照先 osl::Offset::intValue(), と position.

const Position osl::Position::positionForBlack ( Player  player  )  const [inline]

position.h128 行で定義されています。

参照先 osl::BLACK.

template<Player P>
const Position osl::Position::positionForBlack (  )  const [inline]

後手の場合は盤面を引っくり返す.

PIECE_STANDの場合は扱えない.

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

const Position osl::Position::positionForBlack ( Int2Type< WHITE >   )  const [inline]

position.h115 行で定義されています。

参照先 isOnBoard(), makeDirect(), Position(), と uintValue().

const Position osl::Position::positionForBlack ( Int2Type< BLACK >   )  const [inline]
const osl::Position osl::Position::positionForBlackSlow ( Player  player  )  const

position.cc21 行で定義されています。

参照先 osl::BLACK, Position(), reverseX(), reverseY(), x(), と y().

static int osl::Position::reverseX ( int  x  )  [inline, static]

position.h173 行で定義されています。

参照元 positionForBlackSlow().

static int osl::Position::reverseY ( int  y  )  [inline, static]
const Position osl::Position::rotate180 (  )  const [inline]
const Position osl::Position::rotate180EdgeOK (  )  const [inline]
const Position osl::Position::rotate180Safe (  )  const [inline]

position.h144 行で定義されています。

参照先 isPieceStand().

参照元 osl::state::SimpleState::rotate180().

static const Position osl::Position::STAND (  )  [inline, static]
unsigned int osl::Position::uintValue (  )  const [inline]
int osl::Position::x (  )  const [inline]

将棋としてのX座標を返す.

Positionの内部表現に依存しない.

position.h72 行で定義されています。

参照先 position.

参照元 osl::eval::ml::PiecePair::adjust12(), osl::Centering5x3::adjustCenterNaive(), osl::Centering3x3::adjustCenterNaive(), osl::search::QuiescenceGenerator< P >::attackGoldWithPawn(), osl::search::QuiescenceGenerator< P >::attackKing8(), osl::search::QuiescenceGenerator< P >::attackKnightWithPawn(), osl::search::QuiescenceGenerator< P >::attackSilverWithPawn(), osl::rating::BadLance::basicMatch(), osl::container::BoardMaskTable5x3Center::BoardMaskTable5x3Center(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateEnterKingBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateRookRankBonus(), osl::container::BitXmask::clear(), osl::record::KisenUtils::convertPosition(), osl::eval::ml::NumPiecesBetweenBishopAndKing::countBetween(), osl::eval::ml::King25Effect::countEffectAndPieces(), osl::eval::ml::King25EffectBoth::countEffectAndPiecesBoth(), osl::mobility::RookMobility::countHorizontalAll(), osl::effect::NumSimpleEffectTable::doEffectLong(), osl::checkmate::EdgeTable::EdgeTable(), osl::eval::ml::PtypeYPawnY::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::BishopHead::eval(), osl::eval::ml::RookPromoteDefense::eval(), osl::eval::ml::RookPawnY::eval(), osl::eval::ml::RookPawn< Opening >::eval(), osl::eval::ml::PinPtypeAll::evalOne(), osl::eval::ml::GoldFeatures::evalOne(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::KnightFork::evalOne(), osl::eval::ml::PromotedMinorPieces::evalOne(), osl::eval::ml::RookEffectBase::evalOne(), osl::eval::ml::King25BothSide::evalOne(), osl::eval::ml::KingMobilitySum::evalOne(), osl::eval::ml::KingMobility::evalOne(), osl::eval::ml::King25EmptyAbs< Opening >::evalOne(), osl::eval::ml::King25EffectEachBoth::evalOne(), osl::eval::ml::King25EffectEach< Stage >::evalOne(), osl::eval::ml::AnagumaEmpty::evalOne(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), flipHorizontal(), osl::search::BreakThreatmate::generate(), osl::search::BreakThreatmate::generateAddEffect(), osl::move_generator::detail::generateBishopLongMove(), osl::move_generator::detail::generateBishopLongMoveNotKing(), osl::search::BreakThreatmate::generateBreakDrop(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::escape::generateDrop(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::move_generator::detail::generateRookLongMove(), osl::move_generator::detail::generateRookLongMoveNotKing(), osl::move_generator::addeffect8::generateShortDrop(), osl::BoardTable::getShort8(), osl::effect_util::Neighboring8Effect::hasEffectNaive(), osl::effect_util::Neighboring8Direct::hasEffectNaive(), osl::effect_util::Neighboring25Direct::hasEffectNaive(), osl::eval::ml::Pin::index(), osl::eval::ml::PiecePair::index(), osl::progress::ml::NewProgress::index(), osl::eval::ml::GoldAndSilverNearKing::index(), osl::eval::ml::LanceEffectPieceKingRelative::index(), osl::eval::ml::PtypeX::index(), osl::eval::ml::PawnDropBoth::index(), osl::eval::ml::KingRookBishop::index(), osl::eval::ml::KingPieceRelativeNoSupport::index(), osl::eval::ml::KingPieceRelative::index(), osl::eval::ml::King25EmptyAbs< Opening >::index(), osl::eval::ml::King25EffectEach< Stage >::index(), osl::eval::ml::KingXBlocked3::index(), osl::eval::ml::KingXBothBlocked::index(), osl::eval::ml::AnagumaEmpty::index(), osl::eval::ml::KingXBlockedYBase::index(), osl::eval::ml::KingXBlockedBase::index(), osl::eval::ml::BishopEffectBase::index1(), osl::eval::ml::RookEffectBase::index1(), osl::eval::ml::BishopEffectBase::index2(), osl::eval::ml::RookEffectBase::index2(), osl::eval::ml::GoldAndSilverNearKing::indexCombination(), osl::eval::ml::NonPawnAttacked::indexK(), osl::eval::ml::PiecePairKing::indexKing(), osl::rating::BigramAttack::indexKing(), osl::rating::BigramAttack::indexOfMove(), osl::progress::ml::NewProgress::indexPerEffect(), osl::progress::ml::NewProgress::indexPerEffectX(), osl::progress::ml::NewProgress::indexPerEffectY(), osl::progress::ml::NewProgress::indexRelative(), osl::eval::ml::GoldFeatures::indexSideX(), osl::eval::ml::PiecePairKing::indexWhite(), osl::progress::ml::NewProgress::indexX(), osl::eval::ml::RookMobilityAll::indexX(), osl::eval::ml::PawnDropBoth::indexX(), osl::eval::ml::King25Mobility::indexX(), osl::eval::ml::King25BothSide::indexX(), osl::eval::ml::King3Pieces::indexX(), osl::eval::ml::RookMobilityAll::indexXKingX(), osl::progress::ml::NewProgress::indexY(), osl::eval::ml::PawnDropBoth::indexY(), osl::eval::ml::RookPawnY::indexY(), osl::eval::ml::KingXBlocked3::indexY(), osl::eval::ml::KingXBothBlocked::indexY(), osl::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::eval::ml::BishopRookFork::isBishopForkPosition(), osl::eval::ml::KingXBlockedBase::isBlocked(), isEdge(), osl::search::FirstMoveThreatmate::isMember(), isOnBoardSlow(), osl::eval::ml::BishopRookFork::isRookForkPosition(), osl::rating::Threatmate::knight2Step(), main(), osl::rating::RelativeKingX::makeOldX(), osl::progress::Effect5x3d::makeProgress(), osl::progress::Effect5x3::makeProgressArea(), osl::progress::Effect5x3WithBonus::makeProgressAreaBonus(), osl::rating::PositionX::makeX(), osl::rating::RelativeKingX::makeX(), osl::rating::PawnAttack::match(), osl::rating::RookDefense::match(), osl::eval::ml::KingMobility::mobilityDir(), moveFromX(), osl::Offset32Base< Width, Width2 >::Offset32Base(), osl::record::opening::OMove::OMove(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::record::oposition_sort::operator()(), RemoveMoveFromXEqual::operator()(), RemoveMoveFromXLTE::operator()(), RemoveMoveFromXUnder::operator()(), RemoveMoveFromXGTE::operator()(), RemoveMoveFromXOver::operator()(), SortMoveFromXDesc::operator()(), SortMoveFromX::operator()(), osl::record::opiece_sort::operator()(), osl::operator<<(), osl::eval::ml::PinPtypeAll::pawnAttack(), osl::record::OPiece::position2Bits(), positionForBlackSlow(), osl::effect::BoardBitMask::positionToOffset(), osl::threatmate::RichPredictor::predict(), osl::progress::ml::NewProgress::progressOne(), osl::search::QuiescenceGenerator< P >::promote(), run(), osl::record::KanjiMove::selectCandidates(), osl::progress::ml::NewProgress::setUp(), osl::progress::Effect5x3Table::setupAttackEffect(), osl::progress::Effect5x3Table::setupDefenseEffect(), show(), osl::record::psn::show(), osl::record::myshogi::show(), osl::record::ki2::show(), osl::record::csa::show(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::eval::ml::PiecePair::sum12(), osl::progress::ml::NewProgress::updateAttack5x5PiecesAndState(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::eval::ml::OpenMidEndingEval::updateSub(), と osl::eval::ml::PiecePair::valueCompiled().

int osl::Position::y (  )  const [inline]

将棋としてのY座標を返す.

Positionの内部表現に依存しない.

position.h76 行で定義されています。

参照先 position.

参照元 osl::eval::ml::PiecePairKing::add(), osl::eval::ml::PiecePairKing::addSub(), osl::eval::ml::PiecePair::adjust12(), osl::Centering5x3::adjustCenterNaive(), osl::Centering3x3::adjustCenterNaive(), osl::search::QuiescenceGenerator< P >::attackKing8(), osl::move_generator::detail::blockingU(), osl::container::BoardMaskTable5x3Center::BoardMaskTable5x3Center(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateEnterKingBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateGoldPenalty(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMiddleKingBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateSilverPenalty(), osl::PtypePlayerTraits< T, P >::canDropTo(), osl::PtypeTable::canDropTo(), osl::search::ShouldPromoteCut::canIgnore(), osl::eval::ml::GoldFeatures::canRetreat(), osl::eval::ml::SilverFeatures::canRetreat(), osl::record::KisenUtils::convertPosition(), osl::mobility::LanceMobility::countAll(), osl::mobility::BishopMobility::countAll(), osl::mobility::BishopMobility::countAllDir(), osl::eval::ml::NumPiecesBetweenBishopAndKing::countBetween(), osl::eval::ml::King25Effect::countEffectAndPieces(), osl::eval::ml::King25EffectBoth::countEffectAndPiecesBoth(), osl::mobility::RookMobility::countVerticalAll(), osl::effect::NumSimpleEffectTable::doEffectLong(), osl::checkmate::EdgeTable::EdgeTable(), osl::eval::ml::KnightFork::eval(), osl::eval::ml::PtypeYPawnY::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::BishopHead::eval(), osl::eval::ml::RookPromoteDefense::eval(), osl::eval::ml::PinPtypeAll::evalOne(), osl::eval::ml::GoldFeatures::evalOne(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::KnightFork::evalOne(), osl::eval::ml::RookEffectBase::evalOne(), osl::eval::ml::King25BothSide::evalOne(), osl::eval::ml::KingMobilitySum::evalOne(), osl::eval::ml::KingMobility::evalOne(), osl::eval::ml::King25EmptyAbs< Opening >::evalOne(), osl::eval::ml::King25EffectEachBoth::evalOne(), osl::eval::ml::King25EffectEach< Stage >::evalOne(), osl::eval::ml::AnagumaEmpty::evalOne(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), flipHorizontal(), osl::move_generator::detail::generateBishopLongMove(), osl::move_generator::detail::generateBishopLongMoveNotKing(), osl::move_generator::piece_on_board::generateLance(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::move_generator::detail::generateOpenOrCapture(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtypeUnsafe(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePieceUnsafe(), osl::move_generator::detail::generateRookLongMove(), osl::move_generator::detail::generateRookLongMoveNotKing(), osl::BoardTable::getShort8(), osl::effect_util::Neighboring8Effect::hasEffectNaive(), osl::effect_util::Neighboring8Direct::hasEffectNaive(), osl::effect_util::Neighboring25Direct::hasEffectNaive(), osl::Move::ignoreUnpromote(), osl::eval::ml::Pin::index(), osl::eval::ml::PieceStandY::index(), osl::eval::ml::PiecePair::index(), osl::progress::ml::NewProgress::index(), osl::eval::ml::GoldAndSilverNearKing::index(), osl::eval::ml::LanceEffectPieceKingRelative::index(), osl::eval::ml::PtypeY::index(), osl::eval::ml::KnightAdvance::index(), osl::eval::ml::PawnAdvanceUtil::index(), osl::eval::ml::RookRook::index(), osl::eval::ml::KingRookBishop::index(), osl::eval::ml::RookPawnY::index(), osl::eval::ml::MajorY< true, ROOK >::index(), osl::eval::ml::PtypeYY::index(), osl::eval::ml::KingPieceRelativeNoSupport::index(), osl::eval::ml::KingPieceRelative::index(), osl::eval::ml::King25EmptyAbs< Opening >::index(), osl::eval::ml::King25EffectEach< Stage >::index(), osl::eval::ml::AnagumaEmpty::index(), osl::eval::ml::KingXBlockedYBase::index(), osl::eval::ml::BishopEffectBase::index1(), osl::eval::ml::RookEffectBase::index1(), osl::eval::ml::BishopEffectBase::index2(), osl::eval::ml::RookEffectBase::index2(), osl::eval::ml::GoldAndSilverNearKing::indexCombination(), osl::eval::ml::NonPawnAttacked::indexK(), osl::eval::ml::PiecePairKing::indexKing(), osl::rating::BigramAttack::indexKing(), osl::rating::BigramAttack::indexOfMove(), osl::progress::ml::NewProgress::indexPerEffect(), osl::progress::ml::NewProgress::indexPerEffectX(), osl::progress::ml::NewProgress::indexPerEffectY(), osl::eval::ml::PiecePairKing::indexPiece(), osl::progress::ml::NewProgress::indexRelative(), osl::eval::ml::GoldFeatures::indexRetreat(), osl::eval::ml::SilverFeatures::indexRetreat(), osl::eval::ml::GoldFeatures::indexSideY(), osl::eval::ml::PiecePairKing::indexWhite(), osl::progress::ml::NewProgress::indexX(), osl::progress::ml::NewProgress::indexY(), osl::eval::ml::RookMobilityAll::indexY(), osl::eval::ml::PromotedMinorPieces::indexY(), osl::eval::ml::PawnDropBoth::indexY(), osl::eval::ml::RookPawnY::indexY(), osl::eval::ml::King25Mobility::indexY(), osl::eval::ml::King25BothSide::indexY(), osl::eval::ml::King3Pieces::indexY(), osl::eval::ml::KingXBlocked3::indexY(), osl::eval::ml::KingXBothBlocked::indexY(), osl::eval::ml::King8Effect::indexY(), osl::eval::ml::BishopRookFork::isBishopForkPosition(), osl::eval::ml::KingXBlockedBase::isBlocked(), isEdge(), osl::search::FirstMoveThreatmate::isMember(), isOnBoardSlow(), osl::eval::ml::BishopRookFork::isRookForkPosition(), osl::rating::Threatmate::knight2Step(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), main(), osl::rating::RelativeKingY::makeOldY(), osl::progress::Effect5x3d::makeProgress(), osl::progress::Effect5x3::makeProgressArea(), osl::progress::Effect5x3WithBonus::makeProgressAreaBonus(), osl::rating::PositionY::makeY(), osl::rating::RelativeKingY::makeY(), osl::rating::RookDefense::match(), osl::PtypePlayerTraits< T, P >::mayPromote(), osl::eval::ml::KingMobility::mobilityDir(), moveFromY(), osl::Offset32Base< Width, Width2 >::Offset32Base(), osl::record::opening::OMove::OMove(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::record::oposition_sort::operator()(), RemoveMoveFromYEqual::operator()(), RemoveMoveFromYLTE::operator()(), RemoveMoveFromYUnder::operator()(), RemoveMoveFromYGTE::operator()(), RemoveMoveFromYOver::operator()(), SortMoveFromYDesc::operator()(), SortMoveFromY::operator()(), osl::record::opiece_sort::operator()(), osl::operator<<(), osl::record::OPiece::position2Bits(), positionForBlackSlow(), osl::effect::BoardBitMask::positionToOffset(), osl::threatmate::RichPredictor::predict(), osl::progress::ml::NewProgress::progressOne(), osl::search::QuiescenceGenerator< P >::promote(), run(), osl::record::KanjiMove::selectCandidates(), osl::progress::ml::NewProgress::setUp(), osl::progress::Effect5x3Table::setupAttackEffect(), osl::progress::Effect5x3Table::setupDefenseEffect(), show(), osl::record::psn::show(), osl::record::myshogi::show(), osl::record::ki2::show(), osl::record::csa::show(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::eval::ml::PiecePairKing::sub(), osl::eval::ml::PiecePair::sum12(), osl::progress::ml::NewProgress::updateAttack5x5PiecesAndState(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::eval::ml::OpenMidEndingEval::updateSub(), と osl::eval::ml::PiecePair::valueCompiled().

int osl::Position::y1 (  )  const [inline]

y+1を返す

position.h80 行で定義されています。

参照先 position.

参照元 osl::move_generator::piece_on_board::generateLong().

template<int Y>
bool osl::Position::yEq (  )  [inline]
template<int Y>
bool osl::Position::yGe ( typename boost::enable_if_c< Y==7 >::type *  = 0  )  [inline]

position.h279 行で定義されています。

参照先 uintValue().

template<int Y>
bool osl::Position::yGe ( typename boost::enable_if_c< Y!=7 >::type *  = 0  )  [inline]
template<int Y>
bool osl::Position::yLe ( typename boost::enable_if_c< Y==2 >::type *  = 0  )  [inline]

position.h271 行で定義されています。

参照先 uintValue().

template<int Y>
bool osl::Position::yLe ( typename boost::enable_if_c< Y!=2 >::type *  = 0  )  [inline]

変数

unsigned int osl::Position::position [private]

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