ネームスペース | 構成 | 型定義 | 列挙型 | 関数 | 変数

ネームスペース osl

ネームスペース

namespace  book
namespace  checkmate
namespace  container
namespace  csa
 

CSA形式.


namespace  detail
namespace  effect
namespace  effect_action
namespace  effect_util
namespace  enter_king
namespace  eval
namespace  hash
namespace  kakinoki
namespace  ki2
namespace  misc
namespace  mobility
namespace  move_action
namespace  move_classifier
namespace  move_generator
namespace  move_probability
namespace  progress
namespace  psn
 

gnushogi で使われるフォーマット.


namespace  rating
namespace  record
 

棋譜関係


namespace  stat
namespace  usi

構成

class  Offset
 座標の差分 [詳細]
class  Square
class  Piece
 駒. [詳細]
class  Move
 圧縮していない moveの表現 . [詳細]
class  BoardTable
struct  Centering5x3
 5x3が盤上におさまるように中心を調整 [詳細]
struct  DirectionTraitsGen< UL >
struct  DirectionTraitsGen< U >
struct  DirectionTraitsGen< UR >
struct  DirectionTraitsGen< L >
struct  DirectionTraitsGen< R >
struct  DirectionTraitsGen< DL >
struct  DirectionTraitsGen< D >
struct  DirectionTraitsGen< DR >
struct  DirectionTraitsGen< UUL >
struct  DirectionTraitsGen< UUR >
struct  DirectionTraitsGen< LONG_UL >
struct  DirectionTraitsGen< LONG_U >
struct  DirectionTraitsGen< LONG_UR >
struct  DirectionTraitsGen< LONG_L >
struct  DirectionTraitsGen< LONG_R >
struct  DirectionTraitsGen< LONG_DL >
struct  DirectionTraitsGen< LONG_D >
struct  DirectionTraitsGen< LONG_DR >
struct  DirectionTraits
struct  DirectionPlayerTraits< Dir, BLACK >
struct  DirectionPlayerTraits< Dir, WHITE >
class  EffectContent
class  Offset32Base
 差が uniqになるような座標の差分. [詳細]
class  PieceMask
 駒番号のビットセット. [詳細]
class  PieceStand
 片方の手番の持駒の枚数を記録するクラス. [詳細]
struct  PieceStandIO
class  PieceTable
class  PtypeTable
struct  PtypeTraits< PTYPE_EMPTY >
struct  PtypeTraits< PTYPE_EDGE >
struct  PtypeTraits< GOLD >
struct  PtypeTraits< PAWN >
struct  PtypeTraits< PPAWN >
struct  PtypeTraits< LANCE >
struct  PtypeTraits< PLANCE >
struct  PtypeTraits< KNIGHT >
struct  PtypeTraits< PKNIGHT >
struct  PtypeTraits< SILVER >
struct  PtypeTraits< PSILVER >
struct  PtypeTraits< BISHOP >
struct  PtypeTraits< PBISHOP >
struct  PtypeTraits< ROOK >
struct  PtypeTraits< PROOK >
struct  PtypeTraits< KING >
struct  PtypeFunsSub< T, true >
struct  PtypeFunsSub< T, false >
struct  PtypeFuns
struct  PtypeDirectionTraits
struct  KingTraits
struct  PtypePlayerTraits
struct  SquareCompressor
 Square を [0..81] に圧縮する 0: 駒台,1..81 盤上. [詳細]
struct  PieceBasicLessThan
struct  PiecePtypeMoreThan
class  CArray
class  FixedCapacityVector
class  MoveVector
class  CheckMoveVector
class  PieceVector
class  PtypeOSquareVector
struct  RecordMinimal
struct  IntArrayReader
struct  ShouldPromoteCut
 探索で前向き枝刈して良い条件を一時的に書いておく [詳細]
struct  GenerateAllMoves
struct  GenerateEscapeKing
class  NumEffectState
 利きを持つ局面

  • effects (NumSimpleEffectTable) 利き
  • pieces_onboard (PieceMask) 盤上にある駒
[詳細]
struct  TestEffectOfMove
struct  SafeCapture
struct  OslConfig
 osl の実行環境に関する指定 [詳細]
struct  SetUpRegister
struct  NoMoreMemory
class  SimpleState
struct  Centering3x3
 3x3が盤上におさまるように中心を調整 [詳細]
struct  LogProbCompare
class  MoveLogProb
class  PathEncodingTable
class  PathEncoding
class  RepetitionCounter
 千日手の検出. [詳細]
class  Sennichite

型定義

typedef Offset32Base< 8, 9 > Offset32
typedef Offset32Base< 10, 10 > Offset32Wide
typedef PieceMask64 PieceMaskBase
typedef QuadInt MultiInt
typedef QuadIntPair MultiIntPair

列挙型

enum  Player { BLACK = 0, WHITE = -1 }
enum  Ptype {
  PTYPE_EMPTY = 0, PTYPE_EDGE = 1, PPAWN = 2, PLANCE = 3,
  PKNIGHT = 4, PSILVER = 5, PBISHOP = 6, PROOK = 7,
  KING = 8, GOLD = 9, PAWN = 10, LANCE = 11,
  KNIGHT = 12, SILVER = 13, BISHOP = 14, ROOK = 15,
  PTYPE_MIN = 0, PTYPE_BASIC_MIN = KING, PTYPE_PIECE_MIN = 2, PTYPE_MAX = 15
}
 

駒の種類を4ビットでコード化する

[詳細]
enum  PtypeO { PTYPEO_MIN = PTYPE_EMPTY-16, PTYPEO_MAX = 15 }
 

Player + Ptype [-15, 15] PtypeO の O は Owner の O.

[詳細]
enum  Direction {
  SHORT_DIRECTION_MIN = 0, SHORT8_DIRECTION_MIN = 0, UL = 0, U = 1,
  UR = 2, L = 3, R = 4, DL = 5,
  D = 6, DR = 7, SHORT8_DIRECTION_MAX = 7, UUL = 8,
  UUR = 9, LONG_DIRECTION_MIN = 10, LONG_UL = 10, LONG_U = 11,
  LONG_UR = 12, LONG_L = 13, LONG_R = 14, LONG_DL = 15,
  LONG_D = 16, LONG_DR = 17, LONG_DIRECTION_MAX = 17, DIRECTION_MIN = 0,
  SHORT_DIRECTION_MAX = 9, SHORT_DIRECTION_SIZE = 10, DIRECTION_MAX = 17, DIRECTION_INVALID_VALUE = 18,
  DIRECTION_SIZE = 18
}
enum  Move16 { MOVE16_NONE = 0 }
 

16bit 表現

[詳細]
enum  MoveConstraint { CannotMove, OnlyPromoted, OnlyBasic, NoConstraint }
 

ある方向にある駒が移動可能かを表す.

[詳細]
enum  { CheckOrEscapeMaxUniqMoves = Move::MaxUniqMoves/4 }
enum  Handicap { HIRATE }

関数

 static_assert (sizeof(Move)==4,"move size")
constexpr Player alt (Player player)
constexpr int playerToIndex (Player player)
constexpr Player indexToPlayer (int n)
constexpr int sign (Player player)
constexpr int playerToMask (Player player)
int operator+ (Player, int)
int operator+ (int, Player)
int operator- (Player, int)
int operator- (int, Player)
int operator* (Player, int)
int operator* (int, Player)
int operator/ (Player, int)
int operator/ (int, Player)
bool isValid (Player player)
 cast等で作られたplayerが正しいかどうかを返す
std::ostream & operator<< (std::ostream &os, Player player)
std::istream & operator>> (std::istream &is, Ptype &ptype)
std::ostream & operator<< (std::ostream &os, const Ptype ptype)
bool isValid (Ptype ptype)
 int等からcastして作ったptypeが,正しい範囲に入っているかどうかのチェック
constexpr bool isPiece (Ptype ptype)
 ptypeが空白やEDGEでないかのチェック
bool isBasic (Ptype ptype)
 ptypeが基本型(promoteしていない)かのチェック
bool isPromoted (Ptype ptype)
 ptypeがpromote後の型かどうかのチェック
bool canPromote (Ptype ptype)
 ptypeがpromote可能な型かどうかのチェック promote済みの場合はfalseを返す
Ptype unpromote (Ptype ptype)
 ptypeがpromote後の型の時に,promote前の型を返す. promoteしていない型の時はそのまま返す
constexpr Ptype unpromoteSafe (Ptype ptype)
Ptype promote (Ptype ptype)
 promote可能なptypeに対して,promote後の型を返す promote不可のptypeを与えてはいけない.
bool isMajorBasic (Ptype ptype)
bool isMajor (Ptype ptype)
bool isMajorNonPieceOK (Ptype ptype)
unsigned int ptypeOIndex (PtypeO ptypeo)
PtypeO newPtypeO (Player player, Ptype ptype)
Ptype getPtype (PtypeO ptypeO)
PtypeO promote (PtypeO ptypeO)
 pieceをpromoteさせる.
PtypeO promoteWithMask (PtypeO ptypeO, int promoteMask)
 pieceを引数次第でpromoteさせる
PtypeO unpromote (PtypeO ptypeO)
 pieceをunpromoteさせる.
bool isValidPtypeO (int ptypeO)
bool isPiece (PtypeO ptypeO)
 EMPTY, EDGEではない.
Player getOwner (PtypeO ptypeO)
PtypeO captured (PtypeO ptypeO)
 unpromoteすると共に,ownerを反転する.
PtypeO alt (PtypeO ptypeO)
 owner を反転する
PtypeO altIfPiece (PtypeO ptypeO)
 Pieceの時にはowner を反転する.
bool canPromote (PtypeO ptypeO)
bool isPromoted (PtypeO ptypeO)
 ptypeOが promote済みかどうか
std::ostream & operator<< (std::ostream &os, const PtypeO ptypeO)
constexpr bool isShort (Direction d)
constexpr bool isShort8 (Direction d)
constexpr bool isLong (Direction d)
constexpr Direction inverseUnsafe (Direction d)
constexpr Direction inverse (Direction d)
constexpr Direction primDir (Direction d)
 8方向について,primitiveな4方向を求める
constexpr Direction primDirUnsafe (Direction d)
 8方向について,primitiveな4方向を求める dとしてknight, INVALIDなども来る
bool isValid (Direction d)
constexpr Direction longToShort (Direction d)
constexpr Direction shortToLong (Direction d)
 引数に longDirを与えてはいけない
constexpr int dirToMask (Direction dir)
std::ostream & operator<< (std::ostream &os, const Direction d)
bool operator== (Square l, Square r)
Offset newOffset (int dx, int dy)
 
bool operator== (Offset l, Offset r)
bool operator!= (Offset l, Offset r)
bool operator< (Offset l, Offset r)
std::ostream & operator<< (std::ostream &, Offset)
bool operator!= (Square l, Square r)
bool operator< (Square l, Square r)
bool operator> (Square l, Square r)
std::ostream & operator<< (std::ostream &, Square)
bool operator== (Piece l, Piece r)
bool operator< (Piece l, Piece r)
bool operator!= (Piece l, Piece r)
std::ostream & operator<< (std::ostream &os, const Piece piece)
bool operator< (Move lhs, Move rhs)
bool operator== (Move lhs, Move rhs)
bool operator!= (Move lhs, Move rhs)
std::ostream & operator<< (std::ostream &os, Move move)
bool operator== (EffectContent l, EffectContent r)
bool operator!= (EffectContent l, EffectContent r)
bool operator< (EffectContent l, EffectContent r)
 static_assert (sizeof(mask_t)==8,"64bit")
const PieceMask operator& (const PieceMask &m1, const PieceMask &m2)
const PieceMask operator| (const PieceMask &m1, const PieceMask &m2)
const PieceMask operator~ (const PieceMask &m1)
bool operator== (const PieceMask &m1, const PieceMask &m2)
bool operator!= (const PieceMask &m1, const PieceMask &m2)
std::ostream & operator<< (std::ostream &os, PieceMask const &pieceMask)
 static_assert (sizeof(unsigned int)*8 >=32,"PieceStand")
bool operator== (PieceStand l, PieceStand r)
bool operator!= (PieceStand l, PieceStand r)
bool operator< (PieceStand l, PieceStand r)
std::ostream & operator<< (std::ostream &, PieceStand l)
template<typename T , size_t C>
bool operator== (const FixedCapacityVector< T, C > &l, const FixedCapacityVector< T, C > &r)
template<typename T , size_t C>
bool operator< (const FixedCapacityVector< T, C > &l, const FixedCapacityVector< T, C > &r)
std::ostream & operator<< (std::ostream &os, MoveVector const &mv)
bool operator< (const MoveVector &l, const MoveVector &r)
std::ostream & operator<< (std::ostream &os, const PieceVector &)
bool operator== (const NumEffectState &st1, const NumEffectState &st2)
 駒番に依存した局面(インスタンス)比較をする.
bool operator!= (const NumEffectState &s1, const NumEffectState &s2)
std::ostream & operator<< (std::ostream &os, const SimpleState &state)
bool operator== (const SimpleState &st1, const SimpleState &st2)
 盤上の駒のみを比較する(持ち駒は見ない).
std::ostream & operator<< (std::ostream &os, MoveLogProb const &moveLogProb)
bool operator== (MoveLogProb const &lhs, MoveLogProb const &rhs)
bool operator< (MoveLogProb const &lhs, MoveLogProb const &rhs)
bool operator== (const PathEncoding &l, const PathEncoding &r)
bool operator!= (const PathEncoding &l, const PathEncoding &r)
std::ostream & operator<< (std::ostream &, const PathEncoding &)
bool operator== (const Sennichite &l, const Sennichite &r)
std::ostream & operator<< (std::ostream &, const Sennichite &)

変数

const int PTYPE_SIZE = PTYPE_MAX-PTYPE_MIN+1
const PtypeO PTYPEO_EMPTY = newPtypeO(BLACK,PTYPE_EMPTY)
const PtypeO PTYPEO_EDGE = newPtypeO(WHITE,PTYPE_EDGE)
const int PTYPEO_SIZE = PTYPEO_MAX-PTYPEO_MIN+1
const int EMPTY_NUM = 0x80
const int EDGE_NUM = 0x40
const BoardTable Board_Table
const PieceTable Piece_Table
const PtypeTable Ptype_Table
const int NStages = 4
const int EvalStages = 4
const int EndgameIndex = EvalStages-1
PathEncodingTable Path_Encoding_Table

型定義

typedef QuadInt osl::MultiInt

midgame.h13 行で定義されています。

typedef QuadIntPair osl::MultiIntPair

midgame.h14 行で定義されています。

offset32.h63 行で定義されています。

offset32.h64 行で定義されています。

typedef PieceMask64 osl::PieceMaskBase

pieceMask.h12 行で定義されています。


列挙型

anonymous enum
列挙型の値:
CheckOrEscapeMaxUniqMoves 

container.h299 行で定義されています。

列挙型の値:
SHORT_DIRECTION_MIN 
SHORT8_DIRECTION_MIN 
UL 
U 
UR 
L 
R 
DL 
D 
DR 
SHORT8_DIRECTION_MAX 
UUL 
UUR 
LONG_DIRECTION_MIN 
LONG_UL 
LONG_U 
LONG_UR 
LONG_L 
LONG_R 
LONG_DL 
LONG_D 
LONG_DR 
LONG_DIRECTION_MAX 
DIRECTION_MIN 
SHORT_DIRECTION_MAX 
SHORT_DIRECTION_SIZE 
DIRECTION_MAX 
DIRECTION_INVALID_VALUE 
DIRECTION_SIZE 

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

列挙型の値:
HIRATE 

simpleState.h20 行で定義されています。

16bit 表現

列挙型の値:
MOVE16_NONE 

basic_type.h1023 行で定義されています。

ある方向にある駒が移動可能かを表す.

(basicTypeだけは確定しているが,promote済みかどうかはわからない場合)

列挙型の値:
CannotMove 

可能でない

OnlyPromoted 

promote済みの駒の場合にのみ可能

OnlyBasic 

promoteしていない駒の場合にのみ可能

NoConstraint 

promoteしていようが,いまいが可能

ptypeTraits.h327 行で定義されています。

列挙型の値:
BLACK 
WHITE 

basic_type.h8 行で定義されています。

enum osl::Ptype

駒の種類を4ビットでコード化する

列挙型の値:
PTYPE_EMPTY 
PTYPE_EDGE 
PPAWN 
PLANCE 
PKNIGHT 
PSILVER 
PBISHOP 
PROOK 
KING 
GOLD 
PAWN 
LANCE 
KNIGHT 
SILVER 
BISHOP 
ROOK 
PTYPE_MIN 
PTYPE_BASIC_MIN 
PTYPE_PIECE_MIN 
PTYPE_MAX 

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

Player + Ptype [-15, 15] PtypeO の O は Owner の O.

列挙型の値:
PTYPEO_MIN 
PTYPEO_MAX 

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


関数

constexpr Player osl::alt ( Player  player  ) 

basic_type.h13 行で定義されています。

参照元 osl::checkmate::ProofPiecesUtil::addMonopolizedPieces(), osl::eval::ml::AttackMajorsInBase::addOne(), osl::eval::ml::MajorCheckWithCapture::addOne(), osl::move_probability::King5x5Ptype::addOne(), osl::move_probability::MoveInfo::adhocAdjustAttackCheckmateDefender(), osl::move_probability::MoveInfo::adhocAdjustBishopFork(), osl::move_probability::MoveInfo::adhocAdjustBreakThreatmate(), osl::move_probability::MoveInfo::adhocAdjustSlider(), osl::checkmate::ProofTreeDepthDfpn::andNode(), osl::checkmate::FixedDepthSearcher::attack(), osl::checkmate::Dfpn::attack(), osl::progress::ml::NewProgress::attack5x5Value(), osl::progress::Effect5x3WithBonus::attackEffect3(), osl::checkmate::ProofNumberTable::attackEstimation(), osl::checkmate::FixedDepthSolverExt::SetProofPieces::attackEstimation(), osl::checkmate::LibertyEstimator::attackH(), osl::checkmate::PureLibertyEstimator::attackH(), osl::checkmate::attackProofCost(), osl::Square::back(), osl::rating::BadLance::basicMatch(), osl::move_probability::KingBlockade::blockAll(), osl::rating::DefenseKing8::blocking(), osl::checkmate::detail::blockingDiagonalAttack(), osl::checkmate::Dfpn::blockingSimulation(), osl::move_generator::detail::blockingU(), osl::checkmate::detail::blockingVerticalAttack(), osl::eval::ml::CanCheckNonPawnPieceStandCombination::canCheck(), osl::eval::ml::KnightCheck::canCheck(), osl::move_classifier::PawnDropCheckmate< P >::canEscape(), osl::eval::ml::GoldFeatures::canMoveToSide(), osl::checkmate::CheckmateIfCapture::cannotCapture(), osl::eval::ml::GoldFeatures::canRetreat(), osl::eval::ml::SilverFeatures::canRetreat(), osl::rating::Threatmate::captureForKnightCheck(), osl::Move::capturePtypeO(), osl::SimpleState::changeTurn(), osl::NumEffectState::checkShadow(), osl::move_probability::Feature::classifyEffect9(), osl::move_probability::StateInfo::clearOldCache(), osl::eval::See::computeValue(), osl::record::KisenUtils::convertMove(), osl::effect_util::ShadowEffect::count(), osl::rating::DefenseKing8::count(), osl::rating::CountEffect2::count(), osl::eval::ml::King25Effect::countEffectAndPieces(), osl::eval::ml::King25EffectBoth::countEffectAndPiecesBoth(), osl::progress::Effect5x3WithBonus::countEffectPieces(), osl::checkmate::ProofNumberTable::countLiberty(), osl::mobility::countMobilityBoth(), osl::checkmate::King8Info::countMoveCandidate(), osl::move_probability::CoverFork::defending(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::Dfpn::defense(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::LibertyEstimator::defenseH(), osl::NumEffectState::doCaptureMove(), osl::NumEffectState::doUndoCaptureMove(), osl::move_action::NoEffectFilter< P, OrigAction >::dropMove(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::King25EffectEach< Stage >::effectState(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::King8Effect::effectState(), osl::eval::ml::King25EffectEachBoth::effectStateIndex3(), osl::SimpleState::emulateHandPiece(), osl::NumEffectState::epilogueCapture(), osl::eval::ml::KnightFork::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::NumPiecesBetweenBishopAndKing::eval(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::Promotion37::evalOne(), osl::eval::ml::BishopRookFork::evalOne(), osl::eval::ml::NonPawnAttackedPtypePair::evalOne(), osl::eval::ml::PromotedMinorPieces::evalOne(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::evalOne(), osl::eval::ml::BishopExchangeSilverKing::evalOne(), osl::eval::ml::King25EffectCountCombination::evalOne(), osl::eval::ml::King25Effect3::evalOne(), osl::eval::ml::KingMobility::evalOne(), osl::eval::ml::CheckShadowPtype::evalOne(), osl::eval::ml::PinPtypeAll::evalOne(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::KnightFork::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), 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::progress::Effect5x3WithBonus::expect(), osl::progress::Effect5x3::expect(), osl::effect_util::SendOffSquare::find(), osl::rating::PatternBlock::find(), osl::move_probability::BlockLong::findAll(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::checkmate::Dfpn::findDagSource(), osl::eval::ml::BishopRookFork::findDropInLine(), osl::eval::See::findEffectPieces(), osl::eval::See::findEffectPiecesAfterMove(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::BadLanceGroup::findMatch(), osl::rating::BlockGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::move_probability::StateInfo::findShortThreatmate(), osl::NumEffectState::findThreatenedPiece(), osl::move_probability::StateInfo::finishUpdate(), osl::move_generator::detail::generateBishopLongMove(), osl::checkmate::Dfpn::generateCheck(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::checkmate::Dfpn::generateEscape(), osl::move_generator::detail::generateKing(), osl::move_generator::detail::generateMoveToPtypeMask(), osl::move_generator::detail::generateMoveToPtypeMaskWithPieceMask(), osl::move_generator::detail::generateOpenOrCapture(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiece(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtype(), osl::rating::FeatureSet::generateRating(), osl::move_generator::detail::generateRookLongMove(), osl::checkmate::Dfpn::grandParentSimulation(), osl::checkmate::ImmediateCheckmate::hasCheckmateMove(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::checkmate::King8Info::hasEffectMask(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::checkmate::FixedDepthSolverExt::hasEscapeByMove(), osl::checkmate::FixedDepthSearcher::hasEscapeByMove(), osl::checkmate::Dfpn::hasEscapeMove(), osl::checkmate::detail::hasKnightCheckmate(), osl::checkmate::King8Info::hasMoveCandidate(), osl::NumEffectState::inCheck(), osl::rating::PinAttack::index(), osl::eval::ml::LanceEffectPieceKingRelative::index(), osl::eval::ml::PtypeYY::index(), osl::eval::ml::KingPieceRelative::index(), osl::rating::Open::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::BigramAttack::index(), osl::eval::ml::NonPawnAttackedPtypePair::index1(), osl::NumEffectState::inUnblockableCheck(), osl::eval::ml::KingXBlockedBase::isBlocked(), osl::rating::Threatmate::isCandidate(), osl::RepetitionCounter::isConsistent(), osl::NumEffectState::isConsistent(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::checkmate::DualDfpn::isLosingState(), isMated(), osl::move_classifier::PawnDropCheckmate< P >::isMember(), osl::move_classifier::DirectCheck< P >::isMember(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::checkmate::ProofPieces::leaf(), osl::checkmate::ProofNumberTable::libertyAfterAllDrop(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::rating::RatingEnv::make(), osl::checkmate::King8Info::make(), osl::record::CsaFile::makeInfo(), osl::NumEffectState::makeKing8Info(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::NumEffectState::makePinOpen(), osl::progress::Effect5x3::makeProgressAll(), osl::checkmate::King8Info::makeWithPin(), osl::rating::RelativeKingX::makeX(), osl::rating::RelativeKingY::makeY(), osl::rating::PinAttack::match(), osl::rating::PatternBlock::match(), osl::rating::AttackKing8::match(), osl::rating::BadLance::match(), osl::rating::Block::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::CoverFork::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::King5x5Ptype::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::RookAttack::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::PatternBase< TestPromotable >::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::FromEffect::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::SeeFeature::match(), osl::rating::PtypeAttacked::match(), osl::rating::CheckmateIfCapture::match(), osl::rating::Karanari::matchGeneral(), osl::eval::ml::SilverFork::matchGold(), osl::move_probability::PawnAttack::matchPtype(), osl::eval::ml::SilverFork::matchRook(), osl::checkmate::King8Info::moveCandidateMask(), osl::record::KisenFile::moves(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::effect_util::SendOffSquare::onlyOneSupport(), osl::eval::ml::King8EffectBase::MakeEffectStateDefense::operator()(), osl::eval::ml::King8EffectBase::MakeEffectStateSimple::operator()(), osl::rating::Threatmate::Helper::operator()(), osl::eval::ml::PinPtypeAll::pawnAttack(), osl::RepetitionCounter::pop(), osl::progress::ml::NewProgress::progress16(), osl::progress::ml::NewProgress::progressAttack(), osl::progress::ml::NewProgress::progressDefense(), osl::progress::ml::NewProgress::progressOne(), osl::NumEffectState::prologueCapture(), osl::NumEffectState::prologueDrop(), osl::NumEffectState::prologueSimple(), osl::progress::ml::NewProgress::promotion37One(), osl::checkmate::Dfpn::proofOracleAttack(), osl::checkmate::Dfpn::proofOracleDefense(), osl::RepetitionCounter::push(), osl::NumEffectState::recalcPinOpen(), osl::SimpleState::rotate180(), osl::Move::rotate180(), checkmate::DualDfpn::OraclePool::setAttack(), osl::checkmate::Dfpn::Node::setCheckmateDefense(), osl::checkmate::Dfpn::Node::setNoCheckmateAttack(), osl::checkmate::Dfpn::Node::setNoCheckmateDefense(), osl::SimpleState::setPieceAll(), osl::checkmate::DualDfpn::setRootPlayer(), osl::progress::Effect5x3Table::setupBlockEffect(), osl::progress::Effect5x3Table::setupLongEffect(), osl::progress::Effect5x3Table::setupShortEffect(), osl::move_probability::CheckFeature::sign(), osl::move_action::NoEffectFilter< P, OrigAction >::simpleMove(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::move_probability::ToEffect::supportAttack(), osl::eval::ml::BishopRookFork::testCenter(), osl::move_action::NoEffectFilter< P, OrigAction >::unknownMove(), osl::eval::ml::OpenMidEndingEval::update(), osl::progress::Effect5x3::update(), osl::progress::ml::NewProgress::updateAttack5x5Pieces(), osl::progress::ml::NewProgress::updateAttack5x5PiecesAndState(), osl::move_probability::PatternCommon::updateCacheOne(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::eval::ml::NonPawnAttacked::updateEffectChanged(), osl::progress::ml::NewProgress::updateMain(), osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePairOne(), osl::progress::ml::NewProgress::updatePieceKingRelativeBonus(), osl::move_probability::StateInfo::updatePinnedGenerals(), osl::progress::ml::NewProgress::updateSub(), osl::eval::ml::OpenMidEndingEval::updateSub(), と osl::NumEffectState::wasCheckEvasion().

PtypeO osl::alt ( PtypeO  ptypeO  )  [inline]

owner を反転する

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

参照先 isPiece().

PtypeO osl::altIfPiece ( PtypeO  ptypeO  )  [inline]
bool osl::canPromote ( Ptype  ptype  )  [inline]
bool osl::canPromote ( PtypeO  ptypeO  )  [inline]

basic_type.h287 行で定義されています。

参照先 canPromote(), と getPtype().

PtypeO osl::captured ( PtypeO  ptypeO  )  [inline]

unpromoteすると共に,ownerを反転する.

basic_type.h264 行で定義されています。

参照先 isPiece().

参照元 osl::checkmate::ProofPieces::attack(), osl::rating::Threatmate::captureForKnightCheck(), osl::eval::ml::OpenMidEndingEval::captureValue(), osl::record::KisenUtils::convertMove(), osl::checkmate::DisproofPieces::defense(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::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::King25EmptyAbs< Opening >::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::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::NumEffectState::makeMove(), osl::NumEffectState::makeUnmakeMove(), osl::move_probability::ThreatmateByCapture::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::ToEffect::match(), osl::move_probability::CapturePtype::match(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::eval::PtypeEvalTable::reset(), osl::psn::strToMove(), osl::kakinoki::strToMove(), osl::progress::ml::NewProgress::updateMain(), osl::progress::ml::NewProgress::updateSub(), と osl::eval::ml::OpenMidEndingEval::updateSub().

constexpr int osl::dirToMask ( Direction  dir  ) 
Player osl::getOwner ( PtypeO  ptypeO  )  [inline]
Ptype osl::getPtype ( PtypeO  ptypeO  )  [inline]
constexpr Player osl::indexToPlayer ( int  n  ) 
constexpr Direction osl::inverse ( Direction  d  ) 
constexpr Direction osl::inverseUnsafe ( Direction  d  ) 

basic_type.h354 行で定義されています。

参照元 inverse(), osl::NumEffectState::pinAttacker(), と primDirUnsafe().

bool osl::isBasic ( Ptype  ptype  )  [inline]
constexpr bool osl::isLong ( Direction  d  ) 
bool osl::isMajor ( Ptype  ptype  )  [inline]
bool osl::isMajorBasic ( Ptype  ptype  )  [inline]
bool osl::isMajorNonPieceOK ( Ptype  ptype  )  [inline]

basic_type.h190 行で定義されています。

参照元 osl::eval::ml::OpenMidEndingEval::updateSub().

bool osl::isPiece ( PtypeO  ptypeO  )  [inline]

EMPTY, EDGEではない.

basic_type.h250 行で定義されています。

参照先 getPtype(), isPiece(), と isValidPtypeO().

constexpr bool osl::isPiece ( Ptype  ptype  ) 
bool osl::isPromoted ( PtypeO  ptypeO  )  [inline]

ptypeOが promote済みかどうか

basic_type.h296 行で定義されています。

参照先 getPtype(), isPromoted(), と isValidPtypeO().

bool osl::isPromoted ( Ptype  ptype  )  [inline]
constexpr bool osl::isShort ( Direction  d  ) 

basic_type.h342 行で定義されています。

constexpr bool osl::isShort8 ( Direction  d  ) 

basic_type.h346 行で定義されています。

bool osl::isValid ( Ptype  ptype  ) 

int等からcastして作ったptypeが,正しい範囲に入っているかどうかのチェック

basic_type.cc24 行で定義されています。

参照先 PTYPE_MIN.

bool osl::isValid ( Player  player  ) 
bool osl::isValid ( Direction  d  ) 

basic_type.cc93 行で定義されています。

参照先 DIRECTION_MIN.

bool osl::isValidPtypeO ( int  ptypeO  ) 
constexpr Direction osl::longToShort ( Direction  d  ) 
Offset osl::newOffset ( int  dx,
int  dy 
) [inline]

basic_type.h508 行で定義されています。

参照元 osl::PtypeTable::init().

PtypeO osl::newPtypeO ( Player  player,
Ptype  ptype 
) [inline]
bool osl::operator!= ( Piece  l,
Piece  r 
) [inline]

basic_type.h998 行で定義されています。

bool osl::operator!= ( Move  lhs,
Move  rhs 
) [inline]

basic_type.h1344 行で定義されています。

bool osl::operator!= ( EffectContent  l,
EffectContent  r 
) [inline]

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

bool osl::operator!= ( const PieceMask &  m1,
const PieceMask &  m2 
) [inline]

pieceMask.h101 行で定義されています。

bool osl::operator!= ( PieceStand  l,
PieceStand  r 
) [inline]

bits/pieceStand.h258 行で定義されています。

bool osl::operator!= ( const NumEffectState &  s1,
const NumEffectState &  s2 
) [inline]

numEffectState.h1034 行で定義されています。

bool osl::operator!= ( const PathEncoding &  l,
const PathEncoding &  r 
) [inline]

pathEncoding.h77 行で定義されています。

bool osl::operator!= ( Offset  l,
Offset  r 
) [inline]

basic_type.h516 行で定義されています。

bool osl::operator!= ( Square  l,
Square  r 
) [inline]

basic_type.h761 行で定義されています。

const PieceMask osl::operator& ( const PieceMask &  m1,
const PieceMask &  m2 
) [inline]

pieceMask.h88 行で定義されています。

参照先 osl::PieceMask::getMask().

int osl::operator* ( Player  ,
int   
)
int osl::operator* ( int  ,
Player   
)
int osl::operator+ ( int  ,
Player   
)
int osl::operator+ ( Player  ,
int   
)
int osl::operator- ( Player  ,
int   
)
int osl::operator- ( int  ,
Player   
)
int osl::operator/ ( Player  ,
int   
)
int osl::operator/ ( int  ,
Player   
)
bool osl::operator< ( Square  l,
Square  r 
) [inline]

basic_type.h765 行で定義されています。

bool osl::operator< ( Piece  l,
Piece  r 
) [inline]

basic_type.h990 行で定義されています。

参照先 osl::Piece::intValue().

bool osl::operator< ( Move  lhs,
Move  rhs 
) [inline]

basic_type.h1328 行で定義されています。

参照先 osl::Move::intValue().

bool osl::operator< ( EffectContent  l,
EffectContent  r 
) [inline]

effectContent.h62 行で定義されています。

参照先 osl::EffectContent::intValue().

bool osl::operator< ( PieceStand  l,
PieceStand  r 
) [inline]

bits/pieceStand.h262 行で定義されています。

参照先 osl::PieceStand::getFlags(), と osl::PieceStand::testCarries().

bool osl::operator< ( const MoveVector &  l,
const MoveVector &  r 
)
bool osl::operator< ( MoveLogProb const &  lhs,
MoveLogProb const &  rhs 
) [inline]

moveLogProb.h53 行で定義されています。

参照先 osl::MoveLogProb::logProb(), と osl::MoveLogProb::move().

template<typename T , size_t C>
bool osl::operator< ( const FixedCapacityVector< T, C > &  l,
const FixedCapacityVector< T, C > &  r 
) [inline]

container.h273 行で定義されています。

bool osl::operator< ( Offset  l,
Offset  r 
) [inline]

basic_type.h520 行で定義されています。

参照先 osl::Offset::intValue().

std::ostream & osl::operator<< ( std::ostream &  os,
Player  player 
)

basic_type.cc14 行で定義されています。

参照先 BLACK.

std::ostream & osl::operator<< ( std::ostream &  os,
Square  square 
)

basic_type.cc207 行で定義されています。

参照先 osl::Square::isPieceStand(), osl::Square::x(), と osl::Square::y().

std::ostream & osl::operator<< ( std::ostream &  os,
Offset  offset 
)

basic_type.cc168 行で定義されています。

参照先 osl::Offset::intValue().

std::ostream & osl::operator<< ( std::ostream &  os,
const PieceVector &  pv 
)

container.cc52 行で定義されています。

std::ostream & osl::operator<< ( std::ostream &  os,
const Ptype  ptype 
)

basic_type.cc78 行で定義されています。

参照先 osl::PtypeTable::getName(), と Ptype_Table.

std::ostream & osl::operator<< ( std::ostream &  os,
Move  move 
)
std::ostream & osl::operator<< ( std::ostream &  os,
PieceMask const &  pieceMask 
)

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

参照先 osl::PieceMask::getMask().

std::ostream & osl::operator<< ( std::ostream &  os,
const Sennichite &  s 
)
std::ostream & osl::operator<< ( std::ostream &  os,
osl::PieceStand  stand 
)

pieceStand.cc77 行で定義されています。

参照先 osl::PieceStand::get(), と osl::PieceStand::order.

std::ostream & osl::operator<< ( std::ostream &  os,
const PtypeO  ptypeO 
)

basic_type.cc83 行で定義されています。

参照先 getOwner(), getPtype(), と isPiece().

std::ostream & osl::operator<< ( std::ostream &  os,
const SimpleState &  state 
)
std::ostream & osl::operator<< ( std::ostream &  os,
MoveLogProb const &  moveLogProb 
)
std::ostream & osl::operator<< ( std::ostream &  os,
const PathEncoding &  path 
)

pathEncoding.cc33 行で定義されています。

参照先 osl::PathEncoding::getDepth(), と osl::PathEncoding::getPath().

std::ostream & osl::operator<< ( std::ostream &  os,
const Direction  d 
)

basic_type.cc97 行で定義されています。

std::ostream & osl::operator<< ( std::ostream &  os,
MoveVector const &  mv 
)

container.cc5 行で定義されています。

std::ostream & osl::operator<< ( std::ostream &  os,
const Piece  piece 
)
bool osl::operator== ( PieceStand  l,
PieceStand  r 
) [inline]

bits/pieceStand.h252 行で定義されています。

参照先 osl::PieceStand::getFlags(), と osl::PieceStand::testCarries().

bool osl::operator== ( Offset  l,
Offset  r 
) [inline]

basic_type.h512 行で定義されています。

参照先 osl::Offset::intValue().

bool osl::operator== ( const SimpleState &  st1,
const SimpleState &  st2 
)

盤上の駒のみを比較する(持ち駒は見ない).

なお、駒番に非依存な局面比較をしたい場合は、oslrecord::CompactBoardや osl::hash::HashKeyを用いる.

simpleState.cc531 行で定義されています。

参照先 osl::SimpleState::isConsistent(), osl::SimpleState::pawnMask, osl::SimpleState::pieceAt(), osl::Piece::ptypeO(), と osl::SimpleState::turn().

bool osl::operator== ( Move  lhs,
Move  rhs 
) [inline]

basic_type.h1340 行で定義されています。

参照先 osl::Move::intValue().

bool osl::operator== ( Piece  l,
Piece  r 
) [inline]

basic_type.h994 行で定義されています。

template<typename T , size_t C>
bool osl::operator== ( const FixedCapacityVector< T, C > &  l,
const FixedCapacityVector< T, C > &  r 
) [inline]
bool osl::operator== ( const PieceMask &  m1,
const PieceMask &  m2 
) [inline]

pieceMask.h98 行で定義されています。

参照先 osl::PieceMask::getMask().

bool osl::operator== ( EffectContent  l,
EffectContent  r 
) [inline]

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

参照先 osl::EffectContent::intValue().

bool osl::operator== ( const NumEffectState &  st1,
const NumEffectState &  st2 
)

駒番に依存した局面(インスタンス)比較をする.

なお、駒番に非依存な局面比較をしたい場合は、oslrecord::CompactBoardや osl::hash::HashKeyを用いる.

numEffectState.cc22 行で定義されています。

参照先 osl::NumEffectState::effects, osl::NumEffectState::isConsistent(), osl::NumEffectState::king8infos, osl::NumEffectState::king_mobility, osl::NumEffectState::pieces_onboard, osl::NumEffectState::pin_or_open, と osl::NumEffectState::promoted.

bool osl::operator== ( const PathEncoding &  l,
const PathEncoding &  r 
) [inline]

pathEncoding.h73 行で定義されています。

参照先 osl::PathEncoding::getPath().

bool osl::operator== ( MoveLogProb const &  lhs,
MoveLogProb const &  rhs 
) [inline]

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

参照先 osl::MoveLogProb::logProb(), と osl::MoveLogProb::move().

bool osl::operator== ( const Sennichite &  l,
const Sennichite &  r 
) [inline]

sennichite.h35 行で定義されています。

参照先 osl::Sennichite::value.

bool osl::operator== ( Square  l,
Square  r 
) [inline]

basic_type.h757 行で定義されています。

参照先 osl::Square::uintValue().

bool osl::operator> ( Square  l,
Square  r 
) [inline]

basic_type.h769 行で定義されています。

std::istream & osl::operator>> ( std::istream &  is,
osl::Ptype ptype 
)

basic_type.cc35 行で定義されています。

const PieceMask osl::operator| ( const PieceMask &  m1,
const PieceMask &  m2 
) [inline]

pieceMask.h91 行で定義されています。

参照先 osl::PieceMask::getMask().

const PieceMask osl::operator~ ( const PieceMask &  m1  )  [inline]

pieceMask.h94 行で定義されています。

参照先 osl::PieceMask::getMask().

constexpr int osl::playerToIndex ( Player  player  ) 
constexpr int osl::playerToMask ( Player  player  ) 

basic_type.h28 行で定義されています。

constexpr Direction osl::primDir ( Direction  d  ) 
constexpr Direction osl::primDirUnsafe ( Direction  d  ) 
Ptype osl::promote ( Ptype  ptype  )  [inline]
PtypeO osl::promote ( PtypeO  ptypeO  )  [inline]

pieceをpromoteさせる.

promote不可のptypeを与えてはいけない.

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

参照先 canPromote(), getPtype(), と isPiece().

PtypeO osl::promoteWithMask ( PtypeO  ptypeO,
int  promoteMask 
) [inline]

pieceを引数次第でpromoteさせる

basic_type.h232 行で定義されています。

unsigned int osl::ptypeOIndex ( PtypeO  ptypeo  )  [inline]
constexpr Direction osl::shortToLong ( Direction  d  ) 
constexpr int osl::sign ( Player  player  ) 
osl::static_assert ( sizeof(unsigned int)*8 >=  32,
"PieceStand"   
)
osl::static_assert ( sizeof(mask_t)  = =8,
"64bit"   
)
osl::static_assert ( sizeof(Move)  = =4,
"move size"   
)
Ptype osl::unpromote ( Ptype  ptype  )  [inline]

ptypeがpromote後の型の時に,promote前の型を返す. promoteしていない型の時はそのまま返す

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

参照先 isPiece().

参照元 osl::move_probability::MoveInfo::adhocAdjustBishopFork(), osl::checkmate::ProofPieces::attack(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::Dfpn::attack(), osl::checkmate::LibertyEstimator::attackH(), osl::rating::Threatmate::captureForKnightCheck(), osl::checkmate::ProofNumberTable::countLibertyLong(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::DisproofPieces::defense(), osl::effect_action::BetterToPromote< Action >::doActionPtype(), osl::effect_action::AlwaysMove< Action >::doActionPtype(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::SimpleState::emulateCapture(), osl::NumEffectState::epilogueCapture(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), osl::rating::DropCapturedGroup::findMatchWithoutProgress(), osl::move_probability::StateInfo::finishUpdate(), osl::GenerateEscapeKing::generate(), osl::checkmate::Dfpn::generateCheck(), osl::PtypeTable::hasLongMove(), osl::eval::ml::PtypeCount::indexBoardCount(), osl::eval::ml::PtypeCount::indexBoardCountX(), osl::eval::ml::PtypeCount::indexBoardCountY(), osl::eval::ml::PtypeCount::indexCount(), osl::eval::ml::PtypeCount::indexCountX(), osl::eval::ml::PtypeCount::indexCountY(), osl::SimpleState::isConsistent(), isMajor(), osl::eval::ml::KnightFork::isTarget(), osl::SimpleState::isValidMoveByRule(), osl::rating::PatternLongGroup2::makeDirection(), osl::rating::PatternLongGroup::makeDirection(), osl::move_probability::RookAttack::match(), osl::move_probability::BishopAttack::match(), osl::move_probability::CapturePtype::match(), osl::rating::DropCaptured::match(), osl::book::MiniBoard::MiniBoard(), osl::book::MiniBoardChar50::MiniBoardChar50(), osl::PieceStand::nextStand(), osl::PieceBasicLessThan::operator()(), osl::rating::PatternLong::PatternLong(), osl::rating::PatternLong2::PatternLong2(), osl::PieceStand::previousStand(), osl::NumEffectState::prologueCapture(), osl::eval::PtypeEvalTable::reset(), osl::SimpleState::setPiece(), osl::progress::Effect5x3Table::setupOnStand(), osl::usi::show(), osl::ki2::show(), osl::csa::show(), osl::csa::strToMove(), osl::SimpleState::testValidityOtherThanEffect(), unpromoteSafe(), osl::progress::ml::NewProgress::updateMain(), osl::progress::Effect5x3::updateStand(), と osl::eval::ml::OpenMidEndingEval::updateSub().

PtypeO osl::unpromote ( PtypeO  ptypeO  )  [inline]

pieceをunpromoteさせる.

promoteしていないptypeを与えてもよい

basic_type.h240 行で定義されています。

constexpr Ptype osl::unpromoteSafe ( Ptype  ptype  ) 

basic_type.h164 行で定義されています。

参照先 isPiece(), と unpromote().

参照元 osl::eval::ml::AttackMajorsInBase::index().


変数

tables.cc95 行で定義されています。

参照元 osl::move_probability::AddEffectLong::addOne(), osl::move_probability::BlockLong::addPiece(), osl::checkmate::OracleAdjust::attack(), osl::Square::back(), osl::move_probability::KingBlockade::blockAll(), osl::checkmate::detail::blockingDiagonalAttack(), osl::move_generator::detail::blockingU(), osl::move_classifier::PawnDropCheckmate< P >::canEscape(), osl::eval::ml::PawnAdvanceUtil::cantAdvance(), osl::rating::Threatmate::captureForKnightCheck(), osl::move_probability::StateInfo::clearOldCache(), osl::effect_util::AdditionalOrShadow::count(), osl::eval::ml::NumPiecesBetweenBishopAndKing::countBetween(), osl::checkmate::ProofNumberTable::countLibertyLong(), osl::checkmate::ProofNumberTable::countLibertyShortNotKnight(), osl::move_probability::CoverFork::defending(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::King8Effect::effectState(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::rating::PatternLong2::find(), osl::rating::PatternBlock::find(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::eval::ml::BishopRookFork::findDropInLine(), osl::rating::BadLanceGroup::findMatch(), osl::move_generator::Escape< Action >::generateBlocking(), osl::move_generator::Escape< Action >::generateBlockingKing(), osl::move_generator::detail::generateMoveToPtypeMaskWithPieceMask(), osl::move_generator::detail::generateOpenOrCapture(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiece(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtype(), osl::move_generator::detail::generateRookLongMoveNotKing(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDir(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::effect_util::AdditionalEffect::hasEffect(), osl::NumEffectState::hasEffectByWithRemove(), osl::effect_util::Neighboring8Direct::hasEffectFromTo(), osl::NumEffectState::hasEffectIf(), osl::NumEffectState::hasEffectInDirection(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::checkmate::ImmediateCheckmateTable::ImmediateCheckmateTable(), osl::PtypeTable::init(), osl::checkmate::EdgeTable::init(), osl::effect_util::Neighboring8Direct::Table::init(), osl::SimpleState::isEmptyBetween(), osl::move_classifier::KingOpenMove< P >::isMember(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::Square::isNeighboring8(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::checkmate::King8Info::make(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::rating::BadLance::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::LureDefender::match(), osl::move_probability::LanceAttack::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::mobility::MobilityTable::MobilityTable(), osl::Square::neighbor(), osl::rating::PatternLong::nextPieceOrEnd(), osl::rating::Pattern::nextSquare(), osl::Offset::Offset(), osl::eval::ml::King8EffectBase::MakeEffectStateDefense::operator()(), osl::eval::ml::King8EffectBase::MakeEffectStateSimple::operator()(), osl::NumEffectState::pinnedCanMoveTo(), osl::NumEffectState::pinnedDir(), osl::NumEffectState::recalcPinOpen(), osl::checkmate::detail::slowCheckDrop(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::move_probability::StateInfo::updatePinnedGenerals(), と osl::NumEffectState::wasCheckEvasion().

const int osl::EDGE_NUM = 0x40

basic_type.h778 行で定義されています。

const int osl::EMPTY_NUM = 0x80
const int osl::EvalStages = 4

midgame.h12 行で定義されています。

参照元 osl::eval::ml::King25EffectEachXY::setUp().

const int osl::NStages = 4

midgame.h11 行で定義されています。

参照元 osl::eval::ml::BishopMobilityEach::setUp(), osl::eval::ml::RookMobilitySumKingX::setUp(), osl::eval::ml::RookMobilityXKingX::setUp(), osl::eval::ml::RookMobilityY::setUp(), osl::eval::ml::RookMobilityX::setUp(), osl::eval::ml::RookMobilitySum::setUp(), osl::eval::ml::Promotion37::setUp(), osl::eval::ml::SilverAdvance26::setUp(), osl::eval::ml::KnightFork::setUp(), osl::eval::ml::BishopRookFork::setUp(), osl::eval::ml::SilverFork::setUp(), osl::eval::ml::PtypeCombination::setUp(), osl::eval::ml::GoldAndSilverNearKingCombination::setUp(), osl::eval::ml::GoldAndSilverNearKing::setUp(), osl::eval::ml::PtypeYPawnY::setUp(), osl::eval::ml::LanceEffectPieceKingRelative::setUp(), osl::eval::ml::PtypeCountXYAttack::setUp(), osl::eval::ml::PtypeCountXY::setUp(), osl::eval::ml::PtypeCount::setUp(), osl::eval::ml::NonPawnAttackedPtypePair::setUp(), osl::eval::ml::NonPawnAttackedPtype::setUp(), osl::eval::ml::KnightHeadOppPiecePawnOnStand::setUp(), osl::eval::ml::KnightHead::setUp(), osl::eval::ml::NonPawnAttackedKingRelative::setUp(), osl::eval::ml::NonPawnAttacked::setUp(), osl::eval::ml::PromotedMinorPiecesY::setUp(), osl::eval::ml::PromotedMinorPieces::setUp(), osl::eval::ml::PawnPtypeOPtypeOY::setUp(), osl::eval::ml::PawnPtypeOPtypeO::setUp(), osl::eval::ml::KnightCheckY::setUp(), osl::eval::ml::GoldSideMove::setUp(), osl::eval::ml::GoldKnightKingRelative::setUp(), osl::eval::ml::SilverHeadPawnKingRelative::setUp(), osl::eval::ml::PawnStateKingRelative::setUp(), osl::eval::ml::PawnDropNonDrop::setUp(), osl::eval::ml::PawnDropPawnStandY::setUp(), osl::eval::ml::PawnDropPawnStandX::setUp(), osl::eval::ml::PawnDropPawnStand::setUp(), osl::eval::ml::PawnDropX::setUp(), osl::eval::ml::AttackMajorsInBase::setUp(), osl::eval::ml::BishopSilverKnight::setUp(), osl::eval::ml::RookSilverKnight::setUp(), osl::eval::ml::MajorCheckWithCapture::setUp(), osl::eval::ml::BishopStandFile5::setUp(), osl::eval::ml::RookRookPiece::setUp(), osl::eval::ml::RookRook::setUp(), osl::eval::ml::BishopBishopPiece::setUp(), osl::eval::ml::NumPiecesBetweenBishopAndKingAll::setUp(), osl::eval::ml::NumPiecesBetweenBishopAndKingOpp::setUp(), osl::eval::ml::NumPiecesBetweenBishopAndKingSelf::setUp(), osl::eval::ml::KingRookBishop::setUp(), osl::eval::ml::BishopHeadX::setUp(), osl::eval::ml::BishopHeadKingRelative::setUp(), osl::eval::ml::BishopHead::setUp(), osl::eval::ml::BishopEffectPieceKingRelative::setUp(), osl::eval::ml::BishopEffectPiece::setUp(), osl::eval::ml::RookPromoteDefenseRookH::setUp(), osl::eval::ml::RookPromoteDefense::setUp(), osl::eval::ml::RookEffectPieceKingRelative::setUp(), osl::eval::ml::RookEffectPiece::setUp(), osl::eval::ml::RookPawnY::setUp(), osl::eval::ml::RookPawnYX::setUp(), osl::eval::ml::King25EffectCountCombinationY::setUp(), osl::eval::ml::King25EffectCountCombination::setUp(), osl::eval::ml::King25MobilityY::setUp(), osl::eval::ml::King25MobilityX::setUp(), osl::eval::ml::King25Mobility::setUp(), osl::eval::ml::King25Effect3Y::setUp(), osl::eval::ml::King25Effect3::setUp(), osl::eval::ml::King25BothSideY::setUp(), osl::eval::ml::King25BothSideX::setUp(), osl::eval::ml::King25BothSide::setUp(), osl::eval::ml::KingMobilitySum::setUp(), osl::eval::ml::KingMobilityWithBishop::setUp(), osl::eval::ml::KingMobilityWithRook::setUp(), osl::eval::ml::KingMobility::setUp(), osl::eval::ml::King3PiecesXY::setUp(), osl::eval::ml::King3Pieces::setUp(), osl::eval::ml::King25EffectEachKXY::setUp(), osl::eval::ml::King25EffectEachXY::setUp(), osl::eval::ml::King25EffectSupportedY::setUp(), osl::eval::ml::King25EffectSupported::setUp(), osl::eval::ml::King25EffectY2::setUp(), osl::eval::ml::King25Effect2::setUp(), osl::eval::ml::PtypeYY::setUp(), osl::eval::ml::KingPieceRelativeNoSupport::setUp(), osl::eval::ml::KingXBlocked3Y::setUp(), osl::eval::ml::KingXBlocked3::setUp(), osl::eval::ml::KingXBothBlockedY::setUp(), osl::eval::ml::KingXBothBlocked::setUp(), osl::eval::ml::CheckShadowPtype::setUp(), osl::eval::ml::PinPtypePawnAttack::setUp(), osl::eval::ml::PinPtypeDistance::setUp(), osl::eval::ml::PinPtype::setUp(), osl::eval::ml::PieceStandCombinationBoth::setUp(), osl::eval::ml::PieceStandY::setUp(), osl::eval::ml::NonPawnPieceStandTurn::setUp(), osl::eval::ml::CanCheckNonPawnPieceStandCombination::setUp(), と osl::eval::ml::NonPawnPieceStandCombination::setUp().

pathEncoding.cc8 行で定義されています。

参照元 osl::PathEncoding::popMove(), と osl::PathEncoding::pushMove().

const int osl::PTYPE_SIZE = PTYPE_MAX-PTYPE_MIN+1

basic_type.h107 行で定義されています。

参照元 osl::move_probability::King5x5Ptype::addOne(), osl::eval::ml::BishopRookFork::bishopIndex(), osl::eval::ml::OpenMidEndingEval::doResetWeights(), osl::eval::ml::CheckShadowPtype::evalOne(), osl::eval::ml::PinPtypeAll::evalOne(), osl::eval::ml::KnightFork::index(), osl::eval::ml::NonPawnAttackedPtype::index(), osl::eval::ml::NonPawnAttacked::index(), osl::eval::ml::RookRookPiece::index(), osl::eval::ml::BishopBishopPiece::index(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::index(), osl::eval::ml::NonPawnAttackedPtypePair::index1(), osl::eval::ml::NonPawnAttackedPtypePair::index2(), osl::eval::ml::NonPawnAttacked::indexK(), osl::PathEncodingTable::init(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::ThreatmateByCapture::match(), osl::move_probability::CoverFork::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::ToEffect::match(), osl::move_probability::FromEffect::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::CheckFeature::match(), osl::move_probability::PawnAttack::matchPtype(), osl::progress::ml::NewProgress::setUp(), osl::eval::ml::KnightFork::setUp(), osl::eval::ml::BishopRookFork::setUp(), osl::eval::ml::NonPawnAttackedPtypePair::setUp(), osl::eval::ml::NonPawnAttackedKingRelative::setUp(), osl::move_probability::PawnAttack::squareStatus(), と osl::move_probability::ToEffect::supportAttack().

tables.cc97 行で定義されています。

参照元 osl::checkmate::OracleAdjust::attack(), osl::checkmate::Dfpn::attack(), osl::PieceStand::canAdd(), osl::ShouldPromoteCut::canIgnore(), osl::SimpleState::countPiecesOnStandBit(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::effect_action::BetterToPromote< Action >::doAction(), osl::effect_action::AlwaysMove< Action >::doAction(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::eval::ml::PieceStand::eval(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::rating::EscapePinGroup::findMatch(), osl::effect_util::Neighboring8Direct::Table::findNearest(), osl::NumEffectState::findThreatenedPiece(), osl::NumEffectState::forEachEffectOfPtypeO(), osl::checkmate::Dfpn::generateCheck(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePieceUnsafe(), osl::effect_util::Neighboring8Direct::Table::hasEffect(), osl::NumEffectState::hasEffectIf(), osl::effect_util::Neighboring8Direct::hasEffectNaive(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::checkmate::ImmediateCheckmateTable::ImmediateCheckmateTable(), osl::eval::ml::PieceStandY::index(), osl::eval::ml::NonPawnPieceStandTurn::index(), osl::rating::ImmediateAddSupport::index(), osl::eval::ml::PtypeCount::indexBoardCount(), osl::eval::ml::PtypeCount::indexBoardCountX(), osl::eval::ml::PtypeCount::indexBoardCountY(), osl::eval::ml::PtypeCount::indexCount(), osl::eval::ml::PtypeCount::indexCountX(), osl::eval::ml::PtypeCount::indexCountY(), osl::effect_util::SendOffSquare::Table::init(), osl::checkmate::ProofNumberTable::init(), osl::effect_util::Neighboring8Direct::Table::init(), osl::NumEffectState::inUnblockableCheck(), osl::SimpleState::isAlmostValidMove(), osl::move_probability::BreakThreatmate::isDefendingThreatmate(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::SimpleState::isValidMoveByRule(), osl::rating::EscapePin::match(), osl::move_probability::AddEffectLong::match(), osl::book::MiniBoardChar50::MiniBoardChar50(), osl::mobility::MobilityTable::MobilityTable(), osl::rating::DropPtype::name(), osl::rating::RelativeKingY::name(), osl::rating::RelativeKingX::name(), osl::rating::PinAttack::name(), osl::rating::PatternLong2::name(), osl::rating::PatternLong::name(), osl::rating::LongTarget2::name(), osl::rating::LongTarget::name(), osl::rating::Pattern::name(), osl::rating::DefenseKing8::name(), osl::rating::AttackKing8::name(), osl::rating::Chase::name(), osl::progress::ml::NewProgress::NewProgress(), operator<<(), osl::NumEffectState::prologueDrop(), osl::eval::ml::PtypeCountXYAttack::setUp(), osl::eval::ml::PtypeCountXY::setUp(), osl::eval::ml::PieceStandY::setUp(), osl::ki2::show(), osl::csa::show(), osl::csa::strToPtype(), osl::progress::ml::NewProgress::updateMain(), と osl::move_probability::StateInfo::updatePinnedGenerals().

const PtypeO osl::PTYPEO_EDGE = newPtypeO(WHITE,PTYPE_EDGE)
const PtypeO osl::PTYPEO_EMPTY = newPtypeO(BLACK,PTYPE_EMPTY)
const int osl::PTYPEO_SIZE = PTYPEO_MAX-PTYPEO_MIN+1
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義