My Project
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
osl Namespace Reference

Namespaces

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
 

Classes

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

Typedefs

typedef Offset32Base< 8, 9 > Offset32
 
typedef Offset32Base< 10, 10 > Offset32Wide
 
typedef PieceMask64 PieceMaskBase
 
template<typename T , size_t Capacity1, size_t Capacity2>
using CArray2d = CArray< CArray< T, Capacity2 >, Capacity1 >
 
template<typename T , size_t Capacity1, size_t Capacity2, size_t Capacity3>
using CArray3d = CArray< CArray2d< T, Capacity2, Capacity3 >, Capacity1 >
 
typedef QuadInt MultiInt
 
typedef QuadIntPair MultiIntPair
 

Enumerations

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ビットでコード化する More...
 
enum  PtypeO { PTYPEO_MIN = PTYPE_EMPTY-16 , PTYPEO_MAX = 15 }
 Player + Ptype [-15, 15] PtypeO の O は Owner の O. More...
 
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 表現 More...
 
enum  MoveConstraint { CannotMove , OnlyPromoted , OnlyBasic , NoConstraint }
 ある方向にある駒が移動可能かを表す. More...
 
enum  { CheckOrEscapeMaxUniqMoves = Move::MaxUniqMoves/4 }
 
enum  Handicap { HIRATE }
 

Functions

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済みかどうか
 
const PtypeO PTYPEO_EDGE __attribute__ ((unused))
 
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)
 @obsolete
 
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)
 
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)
 
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 &)
 

Variables

const int PTYPE_SIZE =PTYPE_MAX-PTYPE_MIN+1
 
const PtypeO PTYPEO_EMPTY =newPtypeO(BLACK,PTYPE_EMPTY)
 
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 Documentation

◆ CArray2d

template<typename T , size_t Capacity1, size_t Capacity2>
using osl::CArray2d = typedef CArray<CArray<T,Capacity2>,Capacity1>

Definition at line 95 of file container.h.

◆ CArray3d

template<typename T , size_t Capacity1, size_t Capacity2, size_t Capacity3>
using osl::CArray3d = typedef CArray<CArray2d<T,Capacity2,Capacity3>,Capacity1>

Definition at line 98 of file container.h.

◆ MultiInt

Definition at line 13 of file midgame.h.

◆ MultiIntPair

Definition at line 14 of file midgame.h.

◆ Offset32

Definition at line 63 of file offset32.h.

◆ Offset32Wide

Definition at line 64 of file offset32.h.

◆ PieceMaskBase

Definition at line 12 of file pieceMask.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
CheckOrEscapeMaxUniqMoves 

Definition at line 299 of file container.h.

◆ Direction

Enumerator
SHORT_DIRECTION_MIN 
SHORT8_DIRECTION_MIN 
UL 
UR 
DL 
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 

Definition at line 310 of file basic_type.h.

◆ Handicap

Enumerator
HIRATE 

Definition at line 20 of file simpleState.h.

◆ Move16

16bit 表現

Enumerator
MOVE16_NONE 

Definition at line 1023 of file basic_type.h.

◆ MoveConstraint

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

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

Enumerator
CannotMove 

可能でない

OnlyPromoted 

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

OnlyBasic 

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

NoConstraint 

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

Definition at line 327 of file ptypeTraits.h.

◆ Player

Enumerator
BLACK 
WHITE 

Definition at line 8 of file basic_type.h.

◆ Ptype

enum osl::Ptype

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

Enumerator
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 

Definition at line 83 of file basic_type.h.

◆ PtypeO

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

Enumerator
PTYPEO_MIN 
PTYPEO_MAX 

Definition at line 199 of file basic_type.h.

Function Documentation

◆ __attribute__()

const PtypeO PTYPEO_EDGE osl::__attribute__ ( (unused)  )

◆ alt() [1/2]

constexpr Player osl::alt ( Player  player)
constexpr

Definition at line 13 of file basic_type.h.

Referenced by osl::checkmate::ProofPiecesUtil::addMonopolizedPieces(), osl::eval::ml::MajorCheckWithCapture::addOne(), osl::eval::ml::AttackMajorsInBase::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::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::Dfpn::blockingSimulation(), osl::eval::ml::KnightCheck::canCheck(), osl::eval::ml::CanCheckNonPawnPieceStandCombination::canCheck(), osl::enter_king::EnterKing::canDeclareWin(), osl::enter_king::EnterKing::canDeclareWin(), 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::progress::Effect5x3WithBonus::countEffectPieces(), osl::checkmate::ProofNumberTable::countLiberty(), osl::checkmate::ProofNumberTable::countLiberty(), osl::mobility::countMobilityBoth(), osl::checkmate::King8Info::countMoveCandidate(), osl::move_probability::CoverFork::defending(), osl::checkmate::Dfpn::defense(), osl::checkmate::LibertyEstimator::defenseH(), osl::NumEffectState::doCaptureMove(), osl::NumEffectState::doUndoCaptureMove(), osl::move_action::NoEffectFilter< P, OrigAction >::dropMove(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::King8Effect::effectState(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::King25EffectEach< Stage >::effectState(), osl::eval::ml::King25EffectEachBoth::effectStateIndex3(), osl::SimpleState::emulateHandPiece(), osl::NumEffectState::epilogueCapture(), osl::eval::ml::NumPiecesBetweenBishopAndKing::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::KnightFork::eval(), osl::eval::ml::PinPtypeAll::evalOne(), osl::eval::ml::CheckShadowPtype::evalOne(), osl::eval::ml::KingMobility::evalOne(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::evalOne(), osl::eval::ml::NonPawnAttackedPtypePair::evalOne(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::PromotedMinorPieces::evalOne(), osl::eval::ml::BishopRookFork::evalOne(), osl::eval::ml::BishopExchangeSilverKing::evalOne(), osl::eval::ml::Promotion37::evalOne(), osl::eval::ml::King25Effect3::evalOne(), osl::eval::ml::King25EffectCountCombination::evalOne(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PtypeY::evalWithUpdate(), osl::eval::ml::KnightFork::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), 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::progress::Effect5x3::expect(), osl::progress::Effect5x3WithBonus::expect(), osl::rating::PatternBlock::find(), osl::effect_util::SendOffSquare::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::AttackKing8Group::findMatch(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::BlockGroup::findMatch(), osl::rating::BadLanceGroup::findMatch(), osl::rating::PtypeAttackedGroup::findMatch(), osl::move_probability::StateInfo::findShortThreatmate(), osl::NumEffectState::findThreatenedPiece(), osl::move_probability::StateInfo::finishUpdate(), osl::checkmate::Dfpn::generateCheck(), osl::checkmate::Dfpn::generateEscape(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiece(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtype(), osl::rating::FeatureSet::generateRating(), osl::checkmate::Dfpn::grandParentSimulation(), osl::checkmate::King8Info::hasEffectMask(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::checkmate::FixedDepthSolverExt::hasEscapeByMove(), osl::checkmate::Dfpn::hasEscapeMove(), osl::checkmate::King8Info::hasMoveCandidate(), osl::NumEffectState::inCheck(), osl::rating::Open::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::PinAttack::index(), osl::rating::BigramAttack::index(), osl::eval::ml::KingPieceRelative::index(), osl::eval::ml::PtypeYY::index(), osl::eval::ml::LanceEffectPieceKingRelative::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(), osl::move_classifier::OpenCheck< P >::isMember(), 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::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::rating::RatingEnv::make(), osl::rating::RatingEnv::make(), osl::checkmate::King8Info::make(), osl::checkmate::King8Info::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::Block::match(), osl::rating::BadLance::match(), osl::rating::CheckmateIfCapture::match(), osl::rating::PtypeAttacked::match(), osl::rating::AttackKing8::match(), osl::rating::PatternBlock::match(), osl::rating::PinAttack::match(), osl::move_probability::LureDefender::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::King5x5Ptype::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::CoverFork::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::PatternBase< TestPromotable >::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::SeeFeature::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::RookAttack::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::ToEffectLong::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::move_probability::MoveInfo::MoveInfo(), osl::record::KisenFile::moves(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::effect_util::SendOffSquare::onlyOneSupport(), osl::eval::ml::King8EffectBase::MakeEffectStateSimple::operator()(), osl::eval::ml::King8EffectBase::MakeEffectStateDefense::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::Move::rotate180(), osl::SimpleState::rotate180(), 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::move_probability::ToEffect::supportAttack(), 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::eval::ml::OpenMidEndingEval::updateSub(), osl::progress::ml::NewProgress::updateSub(), and osl::NumEffectState::wasCheckEvasion().

◆ alt() [2/2]

PtypeO osl::alt ( PtypeO  ptypeO)
inline

owner を反転する

Definition at line 271 of file basic_type.h.

References isPiece().

◆ altIfPiece()

PtypeO osl::altIfPiece ( PtypeO  ptypeO)
inline

◆ canPromote() [1/2]

bool osl::canPromote ( Ptype  ptype)
inline

◆ canPromote() [2/2]

bool osl::canPromote ( PtypeO  ptypeO)
inline

Definition at line 287 of file basic_type.h.

References canPromote(), and getPtype().

◆ captured()

PtypeO osl::captured ( PtypeO  ptypeO)
inline

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

Definition at line 264 of file basic_type.h.

References isPiece().

Referenced by 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::PtypeY::evalWithUpdate(), osl::eval::ml::PtypeX::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::KingPieceRelative::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), 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::NumEffectState::makeMove(), osl::NumEffectState::makeUnmakeMove(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::ThreatmateByCapture::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::move_action::Store::unknownMove(), osl::move_action::NoEffectFilter< P, OrigAction >::unknownMove(), osl::move_action::NoAddEffectFilter< OrigAction >::unknownMove(), osl::move_action::NotKingOpenFilter< P, OrigAction >::unknownMove(), osl::progress::ml::NewProgress::updateMain(), osl::eval::ml::OpenMidEndingEval::updateSub(), and osl::progress::ml::NewProgress::updateSub().

◆ dirToMask()

constexpr int osl::dirToMask ( Direction  dir)
constexpr

◆ getOwner()

Player osl::getOwner ( PtypeO  ptypeO)
inline

◆ getPtype()

Ptype osl::getPtype ( PtypeO  ptypeO)
inline

◆ indexToPlayer()

constexpr Player osl::indexToPlayer ( int  n)
constexpr

◆ inverse()

constexpr Direction osl::inverse ( Direction  d)
constexpr

◆ inverseUnsafe()

constexpr Direction osl::inverseUnsafe ( Direction  d)
constexpr

Definition at line 354 of file basic_type.h.

Referenced by inverse(), osl::NumEffectState::pinAttacker(), and primDirUnsafe().

◆ isBasic()

bool osl::isBasic ( Ptype  ptype)
inline

◆ isLong()

constexpr bool osl::isLong ( Direction  d)
constexpr

◆ isMajor()

bool osl::isMajor ( Ptype  ptype)
inline

◆ isMajorBasic()

bool osl::isMajorBasic ( Ptype  ptype)
inline

Definition at line 181 of file basic_type.h.

Referenced by isMajor(), and osl::eval::ml::OpenMidEndingEval::updateSub().

◆ isMajorNonPieceOK()

bool osl::isMajorNonPieceOK ( Ptype  ptype)
inline

Definition at line 190 of file basic_type.h.

Referenced by osl::eval::ml::OpenMidEndingEval::updateSub().

◆ isPiece() [1/2]

constexpr bool osl::isPiece ( Ptype  ptype)
constexpr

◆ isPiece() [2/2]

bool osl::isPiece ( PtypeO  ptypeO)
inline

EMPTY, EDGEではない

Definition at line 250 of file basic_type.h.

References getPtype(), isPiece(), and isValidPtypeO().

◆ isPromoted() [1/2]

bool osl::isPromoted ( Ptype  ptype)
inline

◆ isPromoted() [2/2]

bool osl::isPromoted ( PtypeO  ptypeO)
inline

ptypeOが promote済みかどうか

Definition at line 296 of file basic_type.h.

References getPtype(), isPromoted(), and isValidPtypeO().

◆ isShort()

constexpr bool osl::isShort ( Direction  d)
constexpr

Definition at line 342 of file basic_type.h.

References SHORT_DIRECTION_MAX.

◆ isShort8()

constexpr bool osl::isShort8 ( Direction  d)
constexpr

Definition at line 346 of file basic_type.h.

References SHORT8_DIRECTION_MAX.

◆ isValid() [1/3]

bool osl::isValid ( Direction  d)

Definition at line 93 of file basic_type.cc.

References DIRECTION_MAX, and DIRECTION_MIN.

◆ isValid() [2/3]

bool osl::isValid ( Player  player)

◆ isValid() [3/3]

bool osl::isValid ( Ptype  ptype)

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

Definition at line 24 of file basic_type.cc.

References PTYPE_MAX, and PTYPE_MIN.

◆ isValidPtypeO()

bool osl::isValidPtypeO ( int  ptypeO)

◆ longToShort()

constexpr Direction osl::longToShort ( Direction  d)
constexpr

◆ newOffset()

Offset osl::newOffset ( int  dx,
int  dy 
)
inline

@obsolete

Definition at line 508 of file basic_type.h.

Referenced by osl::PtypeTable::init().

◆ newPtypeO()

PtypeO osl::newPtypeO ( Player  player,
Ptype  ptype 
)
inline

Definition at line 211 of file basic_type.h.

Referenced by osl::eval::ml::MajorCheckWithCapture::addOne(), osl::rating::DefenseKing8::blocking(), osl::Move::capturePtypeO(), osl::usi::charToPtypeO(), osl::eval::See::computeValue(), osl::NumEffectState::doCaptureMove(), osl::NumEffectState::doSimpleMove(), osl::NumEffectState::doUndoCaptureMove(), osl::NumEffectState::doUndoSimpleMove(), osl::move_action::NoAddEffectFilter< OrigAction >::dropMove(), osl::NumEffectState::epilogueCapture(), osl::NumEffectState::epilogueSimple(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::checkmate::ImmediateCheckmateTable::ImmediateCheckmateTable(), osl::PtypeTable::init(), osl::effect_util::SendOffSquare::Table::init(), osl::progress::PtypeProgressTable::init(), osl::effect_util::Neighboring8Direct::Table::init(), osl::rating::Threatmate::isCandidate(), osl::move_classifier::DirectCheck< P >::isMember(), osl::hash::HashKey::newMakeMove(), osl::hash::HashKey::newUnmakeMove(), osl::eval::ml::PiecePair::IndexTable::pindex(), osl::record::KanjiPrint::print(), osl::NumEffectState::prologueCapture(), osl::NumEffectState::prologueSimple(), osl::progress::PtypeProgress::PtypeProgress(), osl::PtypeTable::PtypeTable(), osl::eval::PtypeEvalTable::reset(), osl::eval::ml::PiecePair::sanitize(), osl::eval::ml::BishopHeadKingRelative::setUp(), osl::eval::ml::PieceEval::setUp(), osl::progress::Effect5x3Table::setupLongEffect(), osl::progress::Effect5x3Table::setupShortEffect(), osl::usi::show(), osl::move_action::NoAddEffectFilter< OrigAction >::simpleMove(), and osl::move_action::NoAddEffectFilter< OrigAction >::unknownMove().

◆ operator!=() [1/9]

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

Definition at line 1034 of file numEffectState.h.

◆ operator!=() [2/9]

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

Definition at line 77 of file pathEncoding.h.

◆ operator!=() [3/9]

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

Definition at line 101 of file pieceMask.h.

◆ operator!=() [4/9]

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

Definition at line 58 of file effectContent.h.

◆ operator!=() [5/9]

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

Definition at line 1344 of file basic_type.h.

◆ operator!=() [6/9]

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

Definition at line 516 of file basic_type.h.

◆ operator!=() [7/9]

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

Definition at line 999 of file basic_type.h.

◆ operator!=() [8/9]

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

Definition at line 258 of file bits/pieceStand.h.

◆ operator!=() [9/9]

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

Definition at line 762 of file basic_type.h.

◆ operator&()

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

Definition at line 88 of file pieceMask.h.

References osl::PieceMask::getMask().

◆ operator*() [1/2]

int osl::operator* ( int  ,
Player   
)

◆ operator*() [2/2]

int osl::operator* ( Player  ,
int   
)

◆ operator+() [1/2]

int osl::operator+ ( int  ,
Player   
)

◆ operator+() [2/2]

int osl::operator+ ( Player  ,
int   
)

◆ operator-() [1/2]

int osl::operator- ( int  ,
Player   
)

◆ operator-() [2/2]

int osl::operator- ( Player  ,
int   
)

◆ operator/() [1/2]

int osl::operator/ ( int  ,
Player   
)

◆ operator/() [2/2]

int osl::operator/ ( Player  ,
int   
)

References WHITE.

◆ operator<() [1/9]

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

◆ operator<() [2/9]

bool osl::operator< ( const MoveVector l,
const MoveVector r 
)

◆ operator<() [3/9]

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

Definition at line 62 of file effectContent.h.

References osl::EffectContent::intValue().

◆ operator<() [4/9]

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

Definition at line 1328 of file basic_type.h.

References osl::Move::intValue().

◆ operator<() [5/9]

bool osl::operator< ( MoveLogProb const &  lhs,
MoveLogProb const &  rhs 
)
inline

Definition at line 53 of file moveLogProb.h.

References osl::MoveLogProb::logProb(), and osl::MoveLogProb::move().

◆ operator<() [6/9]

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

Definition at line 520 of file basic_type.h.

References osl::Offset::intValue().

◆ operator<() [7/9]

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

Definition at line 991 of file basic_type.h.

References osl::Piece::intValue().

◆ operator<() [8/9]

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

◆ operator<() [9/9]

bool osl::operator< ( Square  l,
Square  r 
)
inline

Definition at line 766 of file basic_type.h.

References osl::Square::uintValue().

◆ operator<<() [1/16]

std::ostream & osl::operator<< ( std::ostream &  os,
const PathEncoding path 
)

Definition at line 38 of file pathEncoding.cc.

References osl::PathEncoding::getDepth(), and osl::PathEncoding::getPath().

◆ operator<<() [2/16]

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

◆ operator<<() [3/16]

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

Definition at line 168 of file basic_type.cc.

References osl::Offset::intValue().

◆ operator<<() [4/16]

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

Definition at line 77 of file pieceStand.cc.

References osl::PieceStand::get(), and osl::PieceStand::order.

◆ operator<<() [5/16]

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

Definition at line 207 of file basic_type.cc.

References osl::Square::isPieceStand(), osl::Square::x(), and osl::Square::y().

◆ operator<<() [6/16]

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

Definition at line 97 of file basic_type.cc.

◆ operator<<() [7/16]

std::ostream & osl::operator<< ( std::ostream &  os,
const Piece  piece 
)

◆ operator<<() [8/16]

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

Definition at line 52 of file container.cc.

◆ operator<<() [9/16]

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

Definition at line 78 of file basic_type.cc.

References osl::PtypeTable::getName(), and Ptype_Table.

◆ operator<<() [10/16]

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

Definition at line 83 of file basic_type.cc.

References getOwner(), getPtype(), and isPiece().

◆ operator<<() [11/16]

std::ostream & osl::operator<< ( std::ostream &  os,
const SimpleState state 
)

◆ operator<<() [12/16]

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

◆ operator<<() [13/16]

std::ostream & osl::operator<< ( std::ostream &  os,
MoveLogProb const &  moveLogProb 
)

Definition at line 7 of file moveLogProb.cc.

References osl::MoveLogProb::logProb(), and osl::MoveLogProb::move().

◆ operator<<() [14/16]

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

Definition at line 5 of file container.cc.

◆ operator<<() [15/16]

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

Definition at line 9 of file pieceMask.cc.

References osl::PieceMask::getMask().

◆ operator<<() [16/16]

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

Definition at line 14 of file basic_type.cc.

References BLACK.

◆ operator==() [1/13]

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

◆ operator==() [2/13]

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

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

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

Definition at line 22 of file numEffectState.cc.

References osl::NumEffectState::effects, osl::NumEffectState::isConsistent(), osl::NumEffectState::king8infos, osl::NumEffectState::king_mobility, osl::NumEffectState::pieces_onboard, osl::NumEffectState::pin_or_open, and osl::NumEffectState::promoted.

◆ operator==() [3/13]

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

Definition at line 73 of file pathEncoding.h.

References osl::PathEncoding::getPath().

◆ operator==() [4/13]

bool osl::operator== ( const PieceMask m1,
const PieceMask m2 
)
inline

Definition at line 98 of file pieceMask.h.

References osl::PieceMask::getMask().

◆ operator==() [5/13]

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

Definition at line 35 of file sennichite.h.

◆ operator==() [6/13]

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

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

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

Definition at line 531 of file simpleState.cc.

References osl::SimpleState::isConsistent(), osl::SimpleState::pawnMask, osl::SimpleState::pieceAt(), osl::Piece::ptypeO(), and osl::SimpleState::turn().

◆ operator==() [7/13]

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

Definition at line 54 of file effectContent.h.

References osl::EffectContent::intValue().

◆ operator==() [8/13]

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

Definition at line 1340 of file basic_type.h.

References osl::Move::intValue().

◆ operator==() [9/13]

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

Definition at line 49 of file moveLogProb.h.

References osl::MoveLogProb::logProb(), and osl::MoveLogProb::move().

◆ operator==() [10/13]

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

Definition at line 512 of file basic_type.h.

References osl::Offset::intValue().

◆ operator==() [11/13]

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

Definition at line 995 of file basic_type.h.

References osl::Piece::intValue().

◆ operator==() [12/13]

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

◆ operator==() [13/13]

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

Definition at line 758 of file basic_type.h.

References osl::Square::uintValue().

◆ operator>()

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

Definition at line 770 of file basic_type.h.

References osl::Square::uintValue().

◆ operator>>()

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

Definition at line 35 of file basic_type.cc.

References BISHOP, GOLD, KING, KNIGHT, LANCE, PAWN, PBISHOP, PKNIGHT, PLANCE, PPAWN, PROOK, PSILVER, PTYPE_EDGE, PTYPE_EMPTY, ROOK, and SILVER.

◆ operator|()

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

Definition at line 91 of file pieceMask.h.

References osl::PieceMask::getMask().

◆ operator~()

const PieceMask osl::operator~ ( const PieceMask m1)
inline

Definition at line 94 of file pieceMask.h.

References osl::PieceMask::getMask().

◆ playerToIndex()

constexpr int osl::playerToIndex ( Player  player)
constexpr

◆ playerToMask()

constexpr int osl::playerToMask ( Player  player)
constexpr

Definition at line 28 of file basic_type.h.

◆ primDir()

constexpr Direction osl::primDir ( Direction  d)
constexpr

◆ primDirUnsafe()

constexpr Direction osl::primDirUnsafe ( Direction  d)
constexpr

◆ promote() [1/2]

Ptype osl::promote ( Ptype  ptype)
inline

◆ promote() [2/2]

PtypeO osl::promote ( PtypeO  ptypeO)
inline

pieceをpromoteさせる.

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

Definition at line 223 of file basic_type.h.

References canPromote(), getPtype(), and isPiece().

◆ promoteWithMask()

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

pieceを引数次第でpromoteさせる

Definition at line 232 of file basic_type.h.

◆ ptypeOIndex()

unsigned int osl::ptypeOIndex ( PtypeO  ptypeo)
inline

◆ shortToLong()

constexpr Direction osl::shortToLong ( Direction  d)
constexpr

◆ sign()

constexpr int osl::sign ( Player  player)
constexpr

◆ unpromote() [1/2]

Ptype osl::unpromote ( Ptype  ptype)
inline

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

Definition at line 157 of file basic_type.h.

References isPiece().

Referenced by osl::move_probability::MoveInfo::adhocAdjustBishopFork(), osl::checkmate::Dfpn::attack(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::ProofPieces::attack(), osl::checkmate::LibertyEstimator::attackH(), osl::rating::Threatmate::captureForKnightCheck(), osl::checkmate::ProofNumberTable::countLibertyLong(), osl::checkmate::DisproofPieces::defense(), osl::effect_action::AlwaysMove< Action >::doActionPtype(), osl::effect_action::BetterToPromote< Action >::doActionPtype(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::SimpleState::emulateCapture(), osl::NumEffectState::epilogueCapture(), osl::eval::ml::PieceEval::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PieceStand::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::PatternLongGroup::makeDirection(), osl::rating::PatternLongGroup2::makeDirection(), osl::rating::DropCaptured::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::BishopAttack::match(), osl::move_probability::RookAttack::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::csa::show(), osl::ki2::show(), osl::usi::show(), osl::csa::strToMove(), unpromoteSafe(), osl::progress::ml::NewProgress::updateMain(), osl::progress::Effect5x3::updateStand(), and osl::eval::ml::OpenMidEndingEval::updateSub().

◆ unpromote() [2/2]

PtypeO osl::unpromote ( PtypeO  ptypeO)
inline

pieceをunpromoteさせる.

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

Definition at line 240 of file basic_type.h.

◆ unpromoteSafe()

constexpr Ptype osl::unpromoteSafe ( Ptype  ptype)
constexpr

Definition at line 164 of file basic_type.h.

References isPiece(), and unpromote().

Referenced by osl::eval::ml::AttackMajorsInBase::index().

Variable Documentation

◆ Board_Table

const BoardTable osl::Board_Table

Definition at line 95 of file tables.cc.

Referenced by osl::move_probability::AddEffectLong::addOne(), osl::move_probability::BlockLong::addPiece(), osl::checkmate::OracleAdjust::attack(), osl::Square::back(), osl::move_probability::KingBlockade::blockAll(), 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::King8Effect::effectState(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::effect_util::AdditionalEffect::find(), osl::rating::PatternLong2::find(), osl::rating::PatternBlock::find(), osl::eval::See::findAdditionalPieces(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::eval::ml::BishopRookFork::findDropInLine(), osl::rating::BadLanceGroup::findMatch(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiece(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtype(), osl::effect_util::AdditionalEffect::hasEffect(), 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::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::LureDefender::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::DropAfterOpposingPawn::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::MakeEffectStateSimple::operator()(), osl::eval::ml::King8EffectBase::MakeEffectStateDefense::operator()(), osl::NumEffectState::pinnedCanMoveTo(), osl::NumEffectState::pinnedDir(), osl::NumEffectState::recalcPinOpen(), osl::move_probability::StateInfo::updatePinnedGenerals(), and osl::NumEffectState::wasCheckEvasion().

◆ EDGE_NUM

const int osl::EDGE_NUM =0x40

Definition at line 779 of file basic_type.h.

Referenced by osl::Piece::EDGE().

◆ EMPTY_NUM

const int osl::EMPTY_NUM =0x80

◆ EndgameIndex

const int osl::EndgameIndex = EvalStages-1

◆ EvalStages

const int osl::EvalStages = 4

Definition at line 12 of file midgame.h.

Referenced by osl::eval::ml::King25EffectEachXY::setUp().

◆ NStages

const int osl::NStages = 4

Definition at line 11 of file midgame.h.

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

◆ Path_Encoding_Table

osl::PathEncodingTable osl::Path_Encoding_Table
extern

Definition at line 8 of file pathEncoding.cc.

Referenced by osl::PathEncoding::popMove(), and osl::PathEncoding::pushMove().

◆ Piece_Table

const PieceTable osl::Piece_Table

◆ PTYPE_SIZE

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

Definition at line 107 of file basic_type.h.

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

◆ Ptype_Table

const PtypeTable osl::Ptype_Table

Definition at line 97 of file tables.cc.

Referenced by osl::checkmate::Dfpn::attack(), osl::checkmate::OracleAdjust::attack(), osl::PieceStand::canAdd(), osl::ShouldPromoteCut::canIgnore(), osl::SimpleState::countPiecesOnStandBit(), osl::effect_action::AlwaysMove< Action >::doAction(), osl::effect_action::BetterToPromote< 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::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::rating::ImmediateAddSupport::index(), osl::eval::ml::NonPawnPieceStandTurn::index(), osl::eval::ml::PieceStandY::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::checkmate::ProofNumberTable::init(), osl::effect_util::SendOffSquare::Table::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::LongTarget::name(), osl::rating::LongTarget2::name(), osl::rating::PinAttack::name(), osl::rating::Pattern::name(), osl::rating::PatternLong::name(), osl::rating::PatternLong2::name(), osl::rating::RelativeKingX::name(), osl::rating::RelativeKingY::name(), osl::rating::DropPtype::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::PtypeCountXY::setUp(), osl::eval::ml::PtypeCountXYAttack::setUp(), osl::eval::ml::PieceStandY::setUp(), osl::ki2::show(), osl::csa::show(), osl::csa::strToPtype(), osl::progress::ml::NewProgress::updateMain(), and osl::move_probability::StateInfo::updatePinnedGenerals().

◆ PTYPEO_EMPTY

const PtypeO osl::PTYPEO_EMPTY =newPtypeO(BLACK,PTYPE_EMPTY)

◆ PTYPEO_SIZE

const int osl::PTYPEO_SIZE =PTYPEO_MAX-PTYPEO_MIN+1