#include <minorPiece.h>
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 (Position king, bool same_turn, bool has_support, Position position, Player owner, Ptype ptype) |
template<bool Attack> | |
static int | indexK (Position 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.h の 915 行で定義されています。
anonymous enum |
minorPiece.h の 919 行で定義されています。
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 | |||
) | [inline, static] |
minorPiece.cc の 1134 行で定義されています。
参照先 osl::BLACK, king_table, と osl::WHITE.
void osl::eval::ml::NonPawnAttacked::eval | ( | const NumEffectState & | state, | |
MultiIntPair & | out | |||
) | [static] |
minorPiece.cc の 1155 行で定義されています。
参照先 adjust(), osl::BLACK, osl::PAWN, と osl::WHITE.
参照元 evalWithUpdateBang(), と osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval().
template void osl::eval::ml::NonPawnAttacked::evalWithUpdateBang< WHITE > | ( | const NumEffectState & | state, | |
Move | moved, | |||
const CArray< PieceMask, 2 > & | effected_mask, | |||
MultiIntPair & | last_value_and_out | |||
) | [inline, static] |
minorPiece.cc の 1239 行で定義されています。
参照先 adjust(), osl::alt(), osl::BLACK, osl::captured(), osl::Move::capturePtype(), eval(), osl::Move::from(), osl::Move::isDrop(), osl::KING, osl::Piece::number(), osl::Move::oldPtype(), osl::Piece::owner(), osl::PAWN, osl::Move::ptype(), osl::PTYPE_EMPTY, osl::Move::to(), と osl::WHITE.
static int osl::eval::ml::NonPawnAttacked::index | ( | bool | same_turn, | |
bool | has_support, | |||
Ptype | ptype | |||
) | [inline, static, private] |
minorPiece.h の 935 行で定義されています。
参照先 osl::PTYPE_SIZE.
static int osl::eval::ml::NonPawnAttacked::indexK | ( | Position | king, | |
bool | same_turn, | |||
bool | has_support, | |||
Piece | piece | |||
) | [inline, static, private] |
minorPiece.h の 953 行で定義されています。
参照先 osl::Piece::owner(), osl::Piece::position(), と osl::Piece::ptype().
static int osl::eval::ml::NonPawnAttacked::indexK | ( | Position | king, | |
bool | same_turn, | |||
bool | has_support, | |||
Position | position, | |||
Player | owner, | |||
Ptype | ptype | |||
) | [inline, static, private] |
minorPiece.h の 941 行で定義されています。
参照先 osl::BLACK, osl::PTYPE_SIZE, osl::Position::x(), と osl::Position::y().
void osl::eval::ml::NonPawnAttacked::setUp | ( | const Weights & | weights | ) | [static] |
minorPiece.cc の 1101 行で定義されています。
参照先 osl::NStages, ONE_DIM, table, と osl::eval::ml::Weights::value().
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] |
minorPiece.h の 962 行で定義されています。
参照先 adjust(), osl::BLACK, osl::Piece::number(), と osl::WHITE.
friend class NonPawnAttackedKingRelative [friend] |
minorPiece.h の 917 行で定義されています。
osl::misc::CArray< MultiInt, 19584 > osl::eval::ml::NonPawnAttacked::king_table [static, private] |
minorPiece.h の 1081 行で定義されています。
参照元 adjust(), と osl::eval::ml::NonPawnAttackedKingRelative::setUp().
osl::misc::CArray< MultiInt, 64 > osl::eval::ml::NonPawnAttacked::table [static, private] |
minorPiece.h の 1080 行で定義されています。
参照元 osl::eval::ml::NonPawnAttackedKingRelative::setUp(), と setUp().