#include <minorPiece.h>
Public 型 | |
enum | { DROP_DIM = PTYPE_SIZE*PTYPE_SIZE, ONE_DIM = 2*DROP_DIM*2, DIM = ONE_DIM * EvalStages } |
Static Public メソッド | |
static const Square | isBishopForkSquare (const NumEffectState &state, Player defense, const Square a, const Square b, bool maybe_empty=false) |
static const Square | isRookForkSquare (const NumEffectState &state, Player defense, const Square a, const Square b) |
static int | bishopIndex (Ptype a, Ptype b) |
static int | rookIndex (Ptype a, Ptype b) |
static void | setUp (const Weights &weights) |
template<Player Defense> | |
static MultiIntPair | evalOne (const NumEffectState &state, const PieceVector &target, std::pair< Square, int > &bishop_drop, std::pair< Square, int > &rook_drop) |
static MultiIntPair | eval (const NumEffectState &state, CArray< std::pair< Square, int >, 2 > &bishop_drop, CArray< std::pair< Square, int >, 2 > &rook_drop) |
Static Public 変数 | |
static CArray< MultiInt, ONE_DIM > | table |
Static Private メソッド | |
static const Square | findDropInLine (const NumEffectState &state, Player defense, const Square a, const Square b, Piece king) |
static bool | testCenter (const NumEffectState &state, Player defense, const Square a, const Square b, Piece king, Square center, bool maybe_empty=false) |
minorPiece.h の 1638 行で定義されています。
anonymous enum |
minorPiece.h の 1641 行で定義されています。
osl::MultiIntPair osl::eval::ml::BishopRookFork::eval | ( | const NumEffectState & | state, | |
CArray< std::pair< Square, int >, 2 > & | bishop_drop, | |||
CArray< std::pair< Square, int >, 2 > & | rook_drop | |||
) | [static] |
minorPiece.cc の 2608 行で定義されています。
参照先 osl::PieceMask::any(), osl::BISHOP, osl::BLACK, osl::PieceMask::clearBit(), osl::NumEffectState::effectedMask(), osl::SimpleState::hasPieceOnStand(), osl::KING, osl::PAWN, osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), osl::FixedCapacityVector< T, Capacity >::push_back(), osl::ROOK, osl::PieceMask::setBit(), と osl::WHITE.
参照元 osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), と osl::eval::ml::OpenMidEndingEval::updateSub().
osl::MultiIntPair osl::eval::ml::BishopRookFork::evalOne | ( | const NumEffectState & | state, | |
const PieceVector & | target, | |||
std::pair< Square, int > & | bishop_drop, | |||
std::pair< Square, int > & | rook_drop | |||
) | [static] |
minorPiece.cc の 2542 行で定義されています。
参照先 osl::alt(), osl::BISHOP, bishopIndex(), osl::BLACK, osl::SimpleState::hasPieceOnStand(), isBishopForkSquare(), osl::Piece::isOnBoardByOwner(), osl::Square::isPieceStand(), isRookForkSquare(), osl::Piece::ptype(), osl::ROOK, rookIndex(), osl::FixedCapacityVector< T, Capacity >::size(), osl::Piece::square(), と table.
参照元 isRookForkSquare().
const osl::Square osl::eval::ml::BishopRookFork::findDropInLine | ( | const NumEffectState & | state, | |
Player | defense, | |||
const Square | a, | |||
const Square | b, | |||
Piece | king | |||
) | [inline, static, private] |
const osl::Square osl::eval::ml::BishopRookFork::isBishopForkSquare | ( | const NumEffectState & | state, | |
Player | defense, | |||
const Square | a, | |||
const Square | b, | |||
bool | maybe_empty = false | |||
) | [static] |
const osl::Square osl::eval::ml::BishopRookFork::isRookForkSquare | ( | const NumEffectState & | state, | |
Player | defense, | |||
const Square | a, | |||
const Square | b | |||
) | [inline, static] |
minorPiece.cc の 2522 行で定義されています。
参照先 evalOne(), findDropInLine(), osl::SimpleState::kingPiece(), osl::CArray< T, Capacity >::size(), testCenter(), osl::Square::x(), と osl::Square::y().
参照元 evalOne().
void osl::eval::ml::BishopRookFork::setUp | ( | const Weights & | weights | ) | [static] |
minorPiece.cc の 2443 行で定義されています。
参照先 bishopIndex(), osl::NStages, osl::PTYPE_SIZE, rookIndex(), table, と osl::eval::ml::Weights::value().
osl::CArray< osl::MultiInt, 256 *2 *2 > osl::eval::ml::BishopRookFork::table [static] |
minorPiece.h の 1657 行で定義されています。