Public 型 | Static Public メソッド | Static Private メソッド | Static Private 変数 | フレンド

クラス osl::eval::ml::NonPawnAttacked

#include <minorPiece.h>

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

すべてのメンバ一覧

Public 型

enum  { ONE_DIM = 64, DIM = ONE_DIM * EvalStages }

Static Public メソッド

static void setUp (const Weights &weights)
static void eval (const NumEffectState &state, MultiIntPair &out)
template<Player P>
static void evalWithUpdateBang (const NumEffectState &state, Move moved, const CArray< PieceMask, 2 > &effected_mask, MultiIntPair &last_value_and_out)
template<int Sign>
static void adjust (int black_turn_king_attack, int black_turn_king_defense, int white_turn_king_attack, int white_turn_king_defense, MultiIntPair &result)

Static Private メソッド

static int index (bool same_turn, bool has_support, Ptype ptype)
template<bool Attack>
static int indexK (Square king, bool same_turn, bool has_support, Square position, Player owner, Ptype ptype)
template<bool Attack>
static int indexK (Square king, bool same_turn, bool has_support, Piece piece)
template<Player Attacked>
static void updateEffectChanged (const NumEffectState &state, const CArray< PieceMask, 2 > &effected_mask, const CArray< PieceMask, 2 > &new_mask, int moved_piece_number, MultiIntPair &result)

Static Private 変数

static CArray< MultiInt, 64 > table
static CArray< MultiInt, 19584 > king_table

フレンド

class NonPawnAttackedKingRelative

説明

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


列挙型

anonymous enum
列挙型の値:
ONE_DIM 
DIM 

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


関数

template<int Sign>
void osl::eval::ml::NonPawnAttacked::adjust ( int  black_turn_king_attack,
int  black_turn_king_defense,
int  white_turn_king_attack,
int  white_turn_king_defense,
MultiIntPair result 
) [static]

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

参照先 king_table.

参照元 eval(), evalWithUpdateBang(), と updateEffectChanged().

void osl::eval::ml::NonPawnAttacked::eval ( const NumEffectState state,
MultiIntPair out 
) [static]
template<osl::Player P>
template void osl::eval::ml::NonPawnAttacked::evalWithUpdateBang< WHITE > ( const NumEffectState state,
Move  moved,
const CArray< PieceMask, 2 > &  effected_mask,
MultiIntPair last_value_and_out 
) [static]
static int osl::eval::ml::NonPawnAttacked::index ( bool  same_turn,
bool  has_support,
Ptype  ptype 
) [inline, static, private]

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

参照先 osl::PTYPE_SIZE.

template<bool Attack>
static int osl::eval::ml::NonPawnAttacked::indexK ( Square  king,
bool  same_turn,
bool  has_support,
Square  position,
Player  owner,
Ptype  ptype 
) [inline, static, private]

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

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

template<bool Attack>
static int osl::eval::ml::NonPawnAttacked::indexK ( Square  king,
bool  same_turn,
bool  has_support,
Piece  piece 
) [inline, static, private]

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

参照先 osl::Piece::owner(), osl::Piece::ptype(), と osl::Piece::square().

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

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

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

template<Player Attacked>
static void osl::eval::ml::NonPawnAttacked::updateEffectChanged ( const NumEffectState state,
const CArray< PieceMask, 2 > &  effected_mask,
const CArray< PieceMask, 2 > &  new_mask,
int  moved_piece_number,
MultiIntPair result 
) [inline, static, private]

フレンドと関連する関数

friend class NonPawnAttackedKingRelative [friend]

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


変数

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

参照元 adjust(), と osl::eval::ml::NonPawnAttackedKingRelative::setUp().

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

参照元 osl::eval::ml::NonPawnAttackedKingRelative::setUp(), と setUp().


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