Public 型 | Static Public メソッド | Static Public 変数 | Static Private メソッド

クラス osl::eval::ml::KnightFork

#include <minorPiece.h>

osl::eval::ml::KnightForkのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

Public 型

enum  { DROP_DIM = PTYPE_SIZE*PTYPE_SIZE, ONE_DIM = DROP_DIM*2*2, DIM = ONE_DIM * EvalStages }

Static Public メソッド

static void setUp (const Weights &weights)
template<Player Defense>
static MultiIntPair evalOne (const NumEffectState &state, bool has_knight, BoardMask &knight_fork_squares, std::pair< Square, int > &knight_drop)
static MultiIntPair eval (const NumEffectState &state, CArray< BoardMask, 2 > &knight_fork_squares, CArray< std::pair< Square, int >, 2 > &knight_drop)
template<Player P>
static MultiIntPair evalWithUpdate (const NumEffectState &state, Move moved, CArray< BoardMask, 2 > &knight_fork_squares, CArray< std::pair< Square, int >, 2 > &knight_drop)
static bool isForkSquare (const NumEffectState &state, Player defense, int y, int x0, int x1)
static int index (Ptype a, Ptype b)
static bool isTarget (Ptype ptype)

Static Public 変数

static CArray< MultiInt, ONE_DIM > table

Static Private メソッド

template<Player P, Player Defense>
static void updateSquares (const NumEffectState &state, Move moved, BoardMask &knight_fork_squares)
template<osl::Player Defense>
static MultiIntPair accumulate (const NumEffectState &state, bool has_knight, const BoardMask &knight_fork_squares, std::pair< Square, int > &knight_drop)

説明

minorPiece.h1667 行で定義されています。


列挙型

anonymous enum
列挙型の値:
DROP_DIM 
ONE_DIM 
DIM 

minorPiece.h1670 行で定義されています。


関数

template<osl::Player Defense>
osl::MultiIntPair osl::eval::ml::KnightFork::accumulate ( const NumEffectState state,
bool  has_knight,
const BoardMask &  knight_fork_squares,
std::pair< Square, int > &  knight_drop 
) [static, private]
osl::MultiIntPair osl::eval::ml::KnightFork::eval ( const NumEffectState state,
CArray< BoardMask, 2 > &  knight_fork_squares,
CArray< std::pair< Square, int >, 2 > &  knight_drop 
) [static]
template<osl::Player Defense>
osl::MultiIntPair osl::eval::ml::KnightFork::evalOne ( const NumEffectState state,
bool  has_knight,
BoardMask &  knight_fork_squares,
std::pair< Square, int > &  knight_drop 
) [static]
template<osl::Player P>
template MultiIntPair osl::eval::ml::KnightFork::evalWithUpdate< WHITE > ( const NumEffectState state,
Move  moved,
CArray< BoardMask, 2 > &  knight_fork_squares,
CArray< std::pair< Square, int >, 2 > &  knight_drop 
) [static]
static int osl::eval::ml::KnightFork::index ( Ptype  a,
Ptype  b 
) [inline, static]

minorPiece.h1692 行で定義されています。

参照先 osl::PTYPE_SIZE.

参照元 accumulate(), evalOne(), と setUp().

static bool osl::eval::ml::KnightFork::isForkSquare ( const NumEffectState state,
Player  defense,
int  y,
int  x0,
int  x1 
) [static]
static bool osl::eval::ml::KnightFork::isTarget ( Ptype  ptype  )  [inline, static]

minorPiece.h1696 行で定義されています。

参照先 osl::LANCE, osl::PAWN, と osl::unpromote().

参照元 updateSquares().

void osl::eval::ml::KnightFork::setUp ( const Weights weights  )  [static]

minorPiece.cc2651 行で定義されています。

参照先 index(), osl::NStages, osl::PTYPE_SIZE, table, と osl::eval::ml::Weights::value().

template<osl::Player P, osl::Player Defense>
void osl::eval::ml::KnightFork::updateSquares ( const NumEffectState state,
Move  moved,
BoardMask &  knight_fork_squares 
) [static, private]

変数

minorPiece.h1688 行で定義されています。

参照元 accumulate(), evalOne(), と setUp().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義