#include <mobility.h>
Static Public Member Functions | |
template<int Sign> | |
static void | adjust (const NumEffectState &, bool promoted, int vertical, int horizontal, Square pos, MultiInt &value) |
static void | eval (const NumEffectState &, MultiInt &out) |
Static Private Member Functions | |
static int | indexX (Square rook, bool promoted, int count, bool vertical) |
template<int Sign> | |
static int | indexY (Square rook, bool promoted, int count, bool vertical) |
template<int Sign> | |
static int | indexXKingX (Square rook, Square king, int count, bool vertical) |
Static Private Attributes | |
static CArray< MultiInt, 18 > | rook_vertical_table |
static CArray< MultiInt, 18 > | rook_horizontal_table |
static CArray< MultiInt, 34 > | sum_table |
static CArray< MultiInt, 324 > | x_table |
static CArray< MultiInt, 324 > | y_table |
static CArray< MultiInt, 17 *9 > | sumkingx_table |
static CArray< MultiInt, 9 *2 *5 *9 > | xkingx_table |
Friends | |
class | RookMobility |
class | RookMobilityX |
class | RookMobilityY |
class | RookMobilitySum |
class | RookMobilitySumKingX |
class | RookMobilityXKingX |
Definition at line 20 of file mobility.h.
void osl::eval::ml::RookMobilityAll::adjust | ( | const NumEffectState & | state, |
bool | promoted, | ||
int | vertical, | ||
int | horizontal, | ||
Square | pos, | ||
MultiInt & | value | ||
) | [inline, static] |
Definition at line 103 of file mobility.cc.
References osl::BLACK, osl::WHITE, osl::eval::ml::ppair::x_table, and osl::eval::ml::ppair::y_table.
void osl::eval::ml::RookMobilityAll::eval | ( | const NumEffectState & | state, |
MultiInt & | out | ||
) | [static] |
Definition at line 145 of file mobility.cc.
References adjust(), osl::BLACK, osl::Piece::isOnBoard(), osl::Piece::isPromoted(), out, osl::Piece::owner(), and osl::Piece::square().
Referenced by osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), and osl::eval::ml::OpenMidEndingEval::updateSub().
static int osl::eval::ml::RookMobilityAll::indexX | ( | Square | rook, |
bool | promoted, | ||
int | count, | ||
bool | vertical | ||
) | [inline, static, private] |
Definition at line 36 of file mobility.h.
References count, and osl::Square::x().
static int osl::eval::ml::RookMobilityAll::indexXKingX | ( | Square | rook, |
Square | king, | ||
int | count, | ||
bool | vertical | ||
) | [inline, static, private] |
Definition at line 53 of file mobility.h.
References osl::Square::rotate180(), and osl::Square::x().
static int osl::eval::ml::RookMobilityAll::indexY | ( | Square | rook, |
bool | promoted, | ||
int | count, | ||
bool | vertical | ||
) | [inline, static, private] |
Definition at line 45 of file mobility.h.
References count, and osl::Square::y().
friend class RookMobility [friend] |
Definition at line 22 of file mobility.h.
friend class RookMobilitySum [friend] |
Definition at line 25 of file mobility.h.
friend class RookMobilitySumKingX [friend] |
Definition at line 26 of file mobility.h.
friend class RookMobilityX [friend] |
Definition at line 23 of file mobility.h.
friend class RookMobilityXKingX [friend] |
Definition at line 27 of file mobility.h.
friend class RookMobilityY [friend] |
Definition at line 24 of file mobility.h.
osl::misc::CArray< MultiInt, 18 > osl::eval::ml::RookMobilityAll::rook_horizontal_table [static, private] |
Definition at line 63 of file mobility.h.
osl::misc::CArray< MultiInt, 18 > osl::eval::ml::RookMobilityAll::rook_vertical_table [static, private] |
Definition at line 62 of file mobility.h.
osl::misc::CArray< MultiInt, 34 > osl::eval::ml::RookMobilityAll::sum_table [static, private] |
Definition at line 64 of file mobility.h.
osl::misc::CArray< MultiInt, 17 *9 > osl::eval::ml::RookMobilityAll::sumkingx_table [static, private] |
Definition at line 67 of file mobility.h.
osl::misc::CArray< MultiInt, 324 > osl::eval::ml::RookMobilityAll::x_table [static, private] |
Definition at line 65 of file mobility.h.
osl::misc::CArray< MultiInt, 9 *2 *5 *9 > osl::eval::ml::RookMobilityAll::xkingx_table [static, private] |
Definition at line 68 of file mobility.h.
osl::misc::CArray< MultiInt, 324 > osl::eval::ml::RookMobilityAll::y_table [static, private] |
Definition at line 66 of file mobility.h.