構造体 テンプレート osl::search::QuiescenceGenerator< P >

QuiescenceSearch で使う指手生成. [詳細]

#include <quiescenceGenerator.h>

すべてのメンバ一覧

Static Public メソッド

template<Ptype PTYPE, bool has_dont_capture>
static void capture (const NumEffectState &, MoveVector &moves, Piece dont_capture)
 P が敵の PTYPE を取る手を生成する..
static void capture (const NumEffectState &, Position target, MoveVector &moves)
 P が敵の target を取る手を生成する..
static void capture1 (const NumEffectState &state, Position target, MoveVector &moves)
 P が敵の target を取る手を最大1手生成する..
static void promote (const NumEffectState &, PieceMask pins, MoveVector &moves)
template<Ptype PTYPE>
static void promote (const NumEffectState &, MoveVector &moves)
template<Ptype PTYPE, size_t N>
static void promoteN (const NumEffectState &, MoveVector &moves, const HistoryTable &table)
static void check (const NumEffectState &, PieceMask pins, MoveVector &moves, bool no_liberty=false)
static void check (const NumEffectState &, PieceMask pins, bool no_liberty, const Position8 &sendoffs, MoveVector &moves)
static void escapeKing (const NumEffectState &state, MoveVector &moves)
static bool escapeKingInTakeBack (const NumEffectState &state, MoveVector &moves, bool check_by_lance)
static void dropMajorPiece (const NumEffectState &state, MoveVector &moves)
static void dropMajorPiece3 (const NumEffectState &state, MoveVector &moves, const HistoryTable &table)
static void attackMajorPiece (const NumEffectState &state, PieceMask pins, MoveVector &moves)
static void escapeAll (const NumEffectState &state, MoveVector &moves)
static void escapeNormalPiece (const NumEffectState &state, Piece escape, MoveVector &moves, bool add_support_only=false)
template<class EvalT >
static void escapeFromLastMove (const NumEffectState &state, Move last_move, MoveVector &moves)
 直前に指手から逃げる
template<class EvalT >
static void escapeFromLastMoveOtherThanPawn (const NumEffectState &state, Move last_move, MoveVector &moves)
static bool escapeByMoveOnly (const NumEffectState &state, Piece piece, MoveVector &moves)
static void attackGoldWithPawn (const NumEffectState &state, PieceMask pins, MoveVector &moves)
static void attackWithKnight (const NumEffectState &state, PieceMask pins, Position attack_from, bool has_knight, MoveVector &moves)
static void attackSilverWithPawn (const NumEffectState &state, PieceMask pins, MoveVector &moves)
static void attackKnightWithPawn (const NumEffectState &state, PieceMask pins, MoveVector &moves)
static void advanceBishop (const NumEffectState &state, MoveVector &moves)
 角が前に進む.
template<Direction DIR>
static void advanceBishop (const NumEffectState &state, const Position from, MoveVector &moves)
static void attackKing8 (const NumEffectState &state, PieceMask pins, MoveVector &moves)
static void attackToPinned (const NumEffectState &state, PieceMask pins, MoveVector &moves)
static void utilizePromoted (const NumEffectState &state, Piece target, MoveVector &moves)
static void breakThreatmate (const NumEffectState &state, Move threatmate, PieceMask pins, MoveVector &moves)
static void kingWalk (const NumEffectState &state, MoveVector &moves)

Static Private メソッド

static void attackMajorPieceSecondSelection (bool target_has_support, const MoveVector &src, MoveVector &out)
static void attackMajorPieceFirstSelection (const NumEffectState &state, PieceMask pins, const MoveVector &all_moves, MoveVector &moves, MoveVector &expensive_drops)
static void attackMajorPieceZerothSelection (const NumEffectState &state, const MoveVector &src, Position target, MoveVector &open_out, MoveVector &out)

説明

template<Player P>
struct osl::search::QuiescenceGenerator< P >

QuiescenceSearch で使う指手生成.

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


関数

template<osl::Player P>
template<osl::Direction DIR>
void osl::search::QuiescenceGenerator< P >::advanceBishop ( const NumEffectState &  state,
const Position  from,
MoveVector &  moves 
) [inline, static]

quiescenceGenerator.tcc1431 行で定義されています。

参照先 osl::BISHOP, と osl::PTYPE_EMPTY.

template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::advanceBishop ( const NumEffectState &  state,
MoveVector &  moves 
) [inline, static]

角が前に進む.

覗いて成を受けにくい読み抜けを防ぐ

quiescenceGenerator.tcc1410 行で定義されています。

参照先 osl::BISHOP, osl::PtypeTraits< BISHOP >::indexMin, osl::Piece::isOnBoardByOwner(), osl::Piece::position(), と osl::Piece::ptype().

template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackGoldWithPawn ( const NumEffectState &  state,
PieceMask  pins,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackKing8 ( const NumEffectState &  state,
PieceMask  pins,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackKnightWithPawn ( const NumEffectState &  state,
PieceMask  pins,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackMajorPiece ( const NumEffectState &  state,
PieceMask  pins,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackMajorPieceFirstSelection ( const NumEffectState &  state,
PieceMask  pins,
const MoveVector &  all_moves,
MoveVector &  moves,
MoveVector &  expensive_drops 
) [inline, static, private]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackMajorPieceSecondSelection ( bool  target_has_support,
const MoveVector &  src,
MoveVector &  out 
) [inline, static, private]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackMajorPieceZerothSelection ( const NumEffectState &  state,
const MoveVector &  src,
Position  target,
MoveVector &  open_out,
MoveVector &  out 
) [inline, static, private]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackSilverWithPawn ( const NumEffectState &  state,
PieceMask  pins,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackToPinned ( const NumEffectState &  state,
PieceMask  pins,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::attackWithKnight ( const NumEffectState &  state,
PieceMask  pins,
Position  attack_from,
bool  has_knight,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::breakThreatmate ( const NumEffectState &  state,
Move  threatmate,
PieceMask  pins,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::capture ( const NumEffectState &  state,
Position  target,
MoveVector &  moves 
) [inline, static]

P が敵の target を取る手を生成する..

quiescenceGenerator.h148 行で定義されています。

参照先 osl::move_generator::capture::generate().

template<osl::Player P>
template<osl::Ptype PTYPE, bool has_dont_capture>
template void osl::search::QuiescenceGenerator< P >::capture< ROOK, false > ( const NumEffectState &  ,
MoveVector &  moves,
Piece  dont_capture 
) [inline, static]

P が敵の PTYPE を取る手を生成する..

引数:
dont_capture これを取る手は除く

quiescenceGenerator.tcc22 行で定義されています。

参照先 osl::alt(), osl::BISHOP, osl::move_generator::capture::generate(), osl::Piece::isPiece(), osl::KNIGHT, osl::LANCE, osl::PAWN, osl::Piece::position(), osl::Piece::ptype(), と target.

template<Player P>
static void osl::search::QuiescenceGenerator< P >::capture1 ( const NumEffectState &  state,
Position  target,
MoveVector &  moves 
) [inline, static]

P が敵の target を取る手を最大1手生成する..

quiescenceGenerator.h45 行で定義されています。

参照先 osl::move_generator::GenerateCapture::generate1().

template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::check ( const NumEffectState &  state,
PieceMask  pins,
bool  no_liberty,
const Position8 &  sendoffs,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::check ( const NumEffectState &  state,
PieceMask  pins,
MoveVector &  moves,
bool  no_liberty = false 
) [inline, static]

quiescenceGenerator.tcc507 行で定義されています。

参照先 osl::alt().

template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::dropMajorPiece ( const NumEffectState &  state,
MoveVector &  moves 
) [inline, static]

quiescenceGenerator.tcc1506 行で定義されています。

template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::dropMajorPiece3 ( const NumEffectState &  state,
MoveVector &  moves,
const HistoryTable table 
) [inline, static]

quiescenceGenerator.tcc1513 行で定義されています。

参照先 osl::eval::min(), と osl::search::HistoryTable::value().

template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::escapeAll ( const NumEffectState &  state,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
bool osl::search::QuiescenceGenerator< P >::escapeByMoveOnly ( const NumEffectState &  state,
Piece  piece,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
template<class EvalT >
template void osl::search::QuiescenceGenerator< P >::escapeFromLastMove< eval::ml::OpenMidEndingEval > ( const NumEffectState &  state,
Move  last_move,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
template<class EvalT >
void osl::search::QuiescenceGenerator< P >::escapeFromLastMoveOtherThanPawn ( const NumEffectState &  state,
Move  last_move,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::escapeKing ( const NumEffectState &  state,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
bool osl::search::QuiescenceGenerator< P >::escapeKingInTakeBack ( const NumEffectState &  state,
MoveVector &  moves,
bool  check_by_lance 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::escapeNormalPiece ( const NumEffectState &  state,
Piece  escape,
MoveVector &  moves,
bool  add_support_only = false 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::kingWalk ( const NumEffectState &  state,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
template<osl::Ptype PTYPE>
void osl::search::QuiescenceGenerator< P >::promote ( const NumEffectState &  state,
MoveVector &  moves 
) [inline, static]

quiescenceGenerator.h161 行で定義されています。

template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::promote ( const NumEffectState &  state,
PieceMask  pins,
MoveVector &  moves 
) [inline, static]
template<osl::Player P>
template<osl::Ptype PTYPE, size_t N>
void osl::search::QuiescenceGenerator< P >::promoteN ( const NumEffectState &  state,
MoveVector &  moves,
const HistoryTable table 
) [inline, static]
template<osl::Player P>
void osl::search::QuiescenceGenerator< P >::utilizePromoted ( const NumEffectState &  state,
Piece  target,
MoveVector &  moves 
) [inline, static]

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