#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 (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.h の 909 行で定義されています。
anonymous enum |
minorPiece.h の 913 行で定義されています。
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.cc の 1135 行で定義されています。
参照先 king_table.
void osl::eval::ml::NonPawnAttacked::eval | ( | const NumEffectState & | state, | |
MultiIntPair & | out | |||
) | [static] |
minorPiece.cc の 1156 行で定義されています。
参照先 adjust(), osl::PieceMask::any(), osl::BLACK, osl::PieceMask::clearBit(), osl::NumEffectState::effectedMask(), osl::PieceMask::getMask(), osl::SimpleState::kingSquare(), osl::PieceMask::orMask(), osl::PAWN, osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), osl::NumEffectState::promotedPieces(), osl::PieceMask::reset(), osl::PieceMask::selectBit(), と 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 | |||
) | [static] |
minorPiece.cc の 1240 行で定義されています。
参照先 adjust(), osl::alt(), osl::BLACK, osl::captured(), osl::Move::capturePtype(), osl::PieceMask::clearBit(), osl::NumEffectState::effectedMask(), eval(), osl::Move::from(), osl::Move::isDrop(), osl::KING, osl::SimpleState::kingSquare(), osl::Piece::number(), osl::Move::oldPtype(), osl::Piece::owner(), osl::PAWN, osl::SimpleState::pieceAt(), osl::NumEffectState::piecesOnBoard(), osl::NumEffectState::promotedPieces(), 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 の 929 行で定義されています。
参照先 osl::PTYPE_SIZE.
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.h の 935 行で定義されています。
参照先 osl::BLACK, osl::PTYPE_SIZE, osl::Square::x(), と osl::Square::y().
static int osl::eval::ml::NonPawnAttacked::indexK | ( | Square | king, | |
bool | same_turn, | |||
bool | has_support, | |||
Piece | piece | |||
) | [inline, static, private] |
minorPiece.h の 947 行で定義されています。
参照先 osl::Piece::owner(), osl::Piece::ptype(), と osl::Piece::square().
void osl::eval::ml::NonPawnAttacked::setUp | ( | const Weights & | weights | ) | [static] |
minorPiece.cc の 1102 行で定義されています。
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.h の 911 行で定義されています。
osl::CArray< MultiInt, 19584 > osl::eval::ml::NonPawnAttacked::king_table [static, private] |
minorPiece.h の 1075 行で定義されています。
参照元 adjust(), と osl::eval::ml::NonPawnAttackedKingRelative::setUp().
osl::CArray< MultiInt, 64 > osl::eval::ml::NonPawnAttacked::table [static, private] |
minorPiece.h の 1074 行で定義されています。
参照元 osl::eval::ml::NonPawnAttackedKingRelative::setUp(), と setUp().