#include <minorPiece.h>
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.h の 1667 行で定義されています。
anonymous enum |
minorPiece.h の 1670 行で定義されています。
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] |
osl::MultiIntPair osl::eval::ml::KnightFork::evalOne | ( | const NumEffectState & | state, | |
bool | has_knight, | |||
BoardMask & | knight_fork_squares, | |||
std::pair< Square, int > & | knight_drop | |||
) | [static] |
minorPiece.cc の 2669 行で定義されています。
参照先 osl::PieceMask::any(), osl::BLACK, osl::PieceMask::clearBit(), osl::NumEffectState::hasEffectAt(), index(), osl::Piece::isOnBoardByOwner(), osl::KNIGHT, osl::LANCE, osl::PAWN, osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), osl::playerToIndex(), osl::Piece::ptype(), osl::sign(), osl::CArray< T, Capacity >::size(), osl::Piece::square(), table, osl::Square::x(), と osl::Square::y().
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 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] |
void osl::eval::ml::KnightFork::setUp | ( | const Weights & | weights | ) | [static] |
minorPiece.cc の 2651 行で定義されています。
参照先 index(), osl::NStages, osl::PTYPE_SIZE, table, と osl::eval::ml::Weights::value().
void osl::eval::ml::KnightFork::updateSquares | ( | const NumEffectState & | state, | |
Move | moved, | |||
BoardMask & | knight_fork_squares | |||
) | [static, private] |
osl::CArray< osl::MultiInt, 256 *2 *2 > osl::eval::ml::KnightFork::table [static] |
minorPiece.h の 1688 行で定義されています。
参照元 accumulate(), evalOne(), と setUp().