#include <mobility.h>
Static Public メソッド | |
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 メソッド | |
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 変数 | |
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 |
フレンド | |
class | RookMobility |
class | RookMobilityX |
class | RookMobilityY |
class | RookMobilitySum |
class | RookMobilitySumKingX |
class | RookMobilityXKingX |
mobility.h の 17 行で定義されています。
void osl::eval::ml::RookMobilityAll::adjust | ( | const NumEffectState & | state, | |
bool | promoted, | |||
int | vertical, | |||
int | horizontal, | |||
Square | pos, | |||
MultiInt & | value | |||
) | [inline, static] |
mobility.cc の 103 行で定義されています。
参照先 osl::BLACK, indexX(), osl::SimpleState::kingSquare(), rook_horizontal_table, rook_vertical_table, sum_table, sumkingx_table, osl::WHITE, x_table, xkingx_table, と y_table.
参照元 eval().
void osl::eval::ml::RookMobilityAll::eval | ( | const NumEffectState & | state, | |
MultiInt & | out | |||
) | [static] |
mobility.cc の 145 行で定義されています。
参照先 adjust(), osl::PtypeTraits< ROOK >::indexMin, osl::Piece::isOnBoard(), osl::Piece::isPromoted(), osl::Piece::owner(), osl::SimpleState::pieceOf(), と osl::Piece::square().
参照元 osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), と osl::eval::ml::OpenMidEndingEval::updateSub().
static int osl::eval::ml::RookMobilityAll::indexX | ( | Square | rook, | |
bool | promoted, | |||
int | count, | |||
bool | vertical | |||
) | [inline, static, private] |
static int osl::eval::ml::RookMobilityAll::indexXKingX | ( | Square | rook, | |
Square | king, | |||
int | count, | |||
bool | vertical | |||
) | [inline, static, private] |
mobility.h の 50 行で定義されています。
static int osl::eval::ml::RookMobilityAll::indexY | ( | Square | rook, | |
bool | promoted, | |||
int | count, | |||
bool | vertical | |||
) | [inline, static, private] |
mobility.h の 42 行で定義されています。
参照先 osl::Square::y().
friend class RookMobility [friend] |
mobility.h の 19 行で定義されています。
friend class RookMobilitySum [friend] |
mobility.h の 22 行で定義されています。
friend class RookMobilitySumKingX [friend] |
mobility.h の 23 行で定義されています。
friend class RookMobilityX [friend] |
mobility.h の 20 行で定義されています。
friend class RookMobilityXKingX [friend] |
mobility.h の 24 行で定義されています。
friend class RookMobilityY [friend] |
mobility.h の 21 行で定義されています。
osl::CArray< MultiInt, 18 > osl::eval::ml::RookMobilityAll::rook_horizontal_table [static, private] |
mobility.h の 60 行で定義されています。
osl::CArray< MultiInt, 18 > osl::eval::ml::RookMobilityAll::rook_vertical_table [static, private] |
mobility.h の 59 行で定義されています。
osl::CArray< MultiInt, 34 > osl::eval::ml::RookMobilityAll::sum_table [static, private] |
mobility.h の 61 行で定義されています。
osl::CArray< MultiInt, 17 *9 > osl::eval::ml::RookMobilityAll::sumkingx_table [static, private] |
mobility.h の 64 行で定義されています。
参照元 adjust(), と osl::eval::ml::RookMobilitySumKingX::setUp().
osl::CArray< MultiInt, 324 > osl::eval::ml::RookMobilityAll::x_table [static, private] |
mobility.h の 62 行で定義されています。
osl::CArray< MultiInt, 9 *2 *5 *9 > osl::eval::ml::RookMobilityAll::xkingx_table [static, private] |
mobility.h の 65 行で定義されています。
osl::CArray< MultiInt, 324 > osl::eval::ml::RookMobilityAll::y_table [static, private] |
mobility.h の 63 行で定義されています。