#include <minorPiece.h>
Public Types | |
enum | { ONE_DIM = 64, DIM = ONE_DIM * EvalStages } |
Static Public Member Functions | |
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 Member Functions | |
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 Attributes | |
static CArray< MultiInt, 64 > | table |
static CArray< MultiInt, 19584 > | king_table |
Friends | |
class | NonPawnAttackedKingRelative |
Definition at line 912 of file minorPiece.h.
anonymous enum |
Definition at line 916 of file minorPiece.h.
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] |
Definition at line 1135 of file minorPiece.cc.
References osl::BLACK, and osl::WHITE.
Referenced by updateEffectChanged().
void osl::eval::ml::NonPawnAttacked::eval | ( | const NumEffectState & | state, |
MultiIntPair & | out | ||
) | [static] |
Definition at line 1156 of file minorPiece.cc.
References adjust(), osl::BLACK, osl::PAWN, result, and osl::WHITE.
Referenced by 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] |
Definition at line 1240 of file minorPiece.cc.
References adjust(), osl::alt(), osl::BLACK, osl::captured(), osl::Move::capturePtype(), 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, result, osl::Move::to(), and osl::WHITE.
static int osl::eval::ml::NonPawnAttacked::index | ( | bool | same_turn, |
bool | has_support, | ||
Ptype | ptype | ||
) | [inline, static, private] |
Definition at line 932 of file minorPiece.h.
References 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] |
Definition at line 938 of file minorPiece.h.
References osl::BLACK, osl::PTYPE_SIZE, osl::Square::x(), and osl::Square::y().
static int osl::eval::ml::NonPawnAttacked::indexK | ( | Square | king, |
bool | same_turn, | ||
bool | has_support, | ||
Piece | piece | ||
) | [inline, static, private] |
Definition at line 950 of file minorPiece.h.
References osl::Piece::owner(), osl::Piece::ptype(), and osl::Piece::square().
void osl::eval::ml::NonPawnAttacked::setUp | ( | const Weights & | weights | ) | [static] |
Definition at line 1102 of file minorPiece.cc.
References osl::NStages, and 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] |
Definition at line 959 of file minorPiece.h.
References adjust(), osl::alt(), osl::BLACK, osl::Piece::number(), result, and osl::WHITE.
friend class NonPawnAttackedKingRelative [friend] |
Definition at line 914 of file minorPiece.h.
osl::misc::CArray< MultiInt, 19584 > osl::eval::ml::NonPawnAttacked::king_table [static, private] |
Definition at line 1078 of file minorPiece.h.
Referenced by osl::eval::ml::NonPawnAttackedKingRelative::setUp().
osl::misc::CArray< MultiInt, 64 > osl::eval::ml::NonPawnAttacked::table [static, private] |
Definition at line 1077 of file minorPiece.h.
Referenced by osl::eval::ml::NonPawnAttackedKingRelative::setUp().