#include <piecePair.h>
構成 | |
struct | IndexTable |
Public 型 | |
enum | { plain_table_size = 1338, x_table_size = 4901, y_table_size = 7057, DIM = plain_table_size + x_table_size + y_table_size } |
typedef CArray< int, 3 > | index_t |
Static Public メソッド | |
static int | eval (const NumEffectState &, const Weights &) |
template<int Direction, int Offset> | |
static int | sum12One (const Piece *basePtr, const int *xbase, const int *ybase) |
static int | sum12 (NumEffectState const &state, Position base, PtypeO ptypeO) |
template<int Direction, int Offset> | |
static int | adjust12One (const Piece *basePtr, const int *xbase1, const int *ybase1, const int *xbase2, const int *ybase2) |
static int | adjust12 (NumEffectState const &state, Position base, PtypeO pos, PtypeO neg) |
static int | evalWithUpdate (const NumEffectState &state, Move moved, int last_value, const Weights &values) |
static int | evalWithUpdateCompiled (const NumEffectState &state, Move moved, int last_value) |
static int | pieceValue (const NumEffectState &state, Piece p, const Weights &values) |
static int | pieceValueDouble (const NumEffectState &state, Piece p, const Weights &) |
static int | weight (Player attack, int index, const Weights &values) |
static index_t | index (int offset_id, Piece p, Piece q) |
static index_t | index (int offset_id, Position p0, PtypeO o0, Position p1, PtypeO o1) |
static int | value (int offset_id, Piece p, Piece q, const Weights &values) |
static int | value (int offset_id, Piece p, Position p1, PtypeO o1, const Weights &values) |
static int | value (int offset_id, Position p0, PtypeO o0, Position p1, PtypeO o1, const Weights &values) |
static void | init () |
static void | sanitize (Weights &values) |
static void | compile (const Weights &values) |
values を展開してクラス全体で使う | |
static int | valueCompiled (int offset_id, Piece p, Position p1, PtypeO o1) |
static int | valueCompiled (int offset_id, Position p0, PtypeO o0, Position p1, PtypeO o1) |
Static Public 変数 | |
static IndexTable | plain_table |
static CArray< IndexTable, 10 > | x_table |
static CArray< IndexTable, 10 > | y_table |
static const CArray< const Offset, 12 > | offsets |
piecePair.h の 18 行で定義されています。
typedef CArray<int,3> osl::eval::ml::PiecePair::index_t |
piecePair.h の 45 行で定義されています。
anonymous enum |
piecePair.h の 21 行で定義されています。
int osl::eval::ml::PiecePair::adjust12One | ( | const Piece * | basePtr, | |
const int * | xbase1, | |||
const int * | ybase1, | |||
const int * | xbase2, | |||
const int * | ybase2 | |||
) | [inline, static] |
piecePair.cc の 561 行で定義されています。
参照先 osl::Piece::ptypeO(), osl::eval::ml::ppair::x_values, と osl::eval::ml::ppair::y_values.
参照元 adjust12().
void osl::eval::ml::PiecePair::compile | ( | const Weights & | values | ) | [static] |
values を展開してクラス全体で使う
piecePair.cc の 366 行で定義されています。
参照先 offsets, plain_table, osl::PTYPEO_SIZE, osl::eval::ml::Weights::value(), x_table, osl::eval::ml::ppair::x_values, y_table, と osl::eval::ml::ppair::y_values.
int osl::eval::ml::PiecePair::eval | ( | const NumEffectState & | state, | |
const Weights & | values | |||
) | [static] |
piecePair.cc の 451 行で定義されています。
参照先 pieceValueDouble(), と osl::Piece::SIZE.
int osl::eval::ml::PiecePair::evalWithUpdate | ( | const NumEffectState & | state, | |
Move | moved, | |||
int | last_value, | |||
const Weights & | values | |||
) | [static] |
piecePair.cc の 462 行で定義されています。
参照先 osl::Move::capturePtype(), osl::Move::capturePtypeO(), osl::Move::from(), osl::Offset::index(), osl::Move::isPass(), osl::Piece::isPiece(), osl::Position::isPieceStand(), osl::eval::ml::ppair::offset_index, offsets, osl::Move::oldPtypeO(), osl::Piece::position(), osl::PTYPE_EMPTY, osl::Move::ptypeO(), target, osl::Move::to(), と value().
int osl::eval::ml::PiecePair::evalWithUpdateCompiled | ( | const NumEffectState & | state, | |
Move | moved, | |||
int | last_value | |||
) | [static] |
piecePair.cc の 596 行で定義されています。
参照先 adjust12(), osl::Move::capturePtype(), osl::Move::capturePtypeO(), osl::Move::from(), osl::Position::isPieceStand(), osl::eval::ml::ppair::offset_index, osl::Move::oldPtypeO(), osl::PTYPE_EMPTY, osl::Move::ptypeO(), osl::ptypeOIndex(), sum12(), osl::Move::to(), osl::Position::x(), osl::eval::ml::ppair::x_values, osl::Position::y(), と osl::eval::ml::ppair::y_values.
osl::eval::ml::PiecePair::index_t osl::eval::ml::PiecePair::index | ( | int | offset_id, | |
Position | p0, | |||
PtypeO | o0, | |||
Position | p1, | |||
PtypeO | o1 | |||
) | [static] |
piecePair.cc の 421 行で定義されています。
参照先 osl::Position::isPieceStand(), offsets, plain_table, plain_table_size, osl::ptypeOIndex(), osl::Position::x(), x_table, x_table_size, osl::Position::y(), y_table, と y_table_size.
osl::eval::ml::PiecePair::index_t osl::eval::ml::PiecePair::index | ( | int | offset_id, | |
Piece | p, | |||
Piece | q | |||
) | [static] |
piecePair.cc の 441 行で定義されています。
参照先 osl::Piece::isOnBoard(), osl::Piece::isPiece(), osl::Piece::position(), と osl::Piece::ptypeO().
参照元 sanitize(), と value().
void osl::eval::ml::PiecePair::init | ( | ) | [static] |
int osl::eval::ml::PiecePair::pieceValue | ( | const NumEffectState & | state, | |
Piece | p, | |||
const Weights & | values | |||
) | [static] |
piecePair.cc の 670 行で定義されています。
参照先 pieceValueDouble().
int osl::eval::ml::PiecePair::pieceValueDouble | ( | const NumEffectState & | state, | |
Piece | p, | |||
const Weights & | values | |||
) | [static] |
piecePair.cc の 651 行で定義されています。
参照先 osl::Piece::isOnBoard(), osl::Piece::isPiece(), osl::Position::isPieceStand(), offsets, osl::Piece::position(), target, と value().
参照元 eval(), と pieceValue().
void osl::eval::ml::PiecePair::sanitize | ( | Weights & | values | ) | [static] |
int osl::eval::ml::PiecePair::sum12One | ( | const Piece * | basePtr, | |
const int * | xbase, | |||
const int * | ybase | |||
) | [inline, static] |
piecePair.cc の 530 行で定義されています。
参照先 osl::Piece::ptypeO(), osl::eval::ml::ppair::x_values, と osl::eval::ml::ppair::y_values.
参照元 sum12().
static int osl::eval::ml::PiecePair::value | ( | int | offset_id, | |
Position | p0, | |||
PtypeO | o0, | |||
Position | p1, | |||
PtypeO | o1, | |||
const Weights & | values | |||
) | [inline, static] |
piecePair.h の 58 行で定義されています。
static int osl::eval::ml::PiecePair::value | ( | int | offset_id, | |
Piece | p, | |||
Position | p1, | |||
PtypeO | o1, | |||
const Weights & | values | |||
) | [inline, static] |
piecePair.h の 54 行で定義されています。
参照先 osl::Piece::position(), osl::Piece::ptypeO(), と value().
static int osl::eval::ml::PiecePair::value | ( | int | offset_id, | |
Piece | p, | |||
Piece | q, | |||
const Weights & | values | |||
) | [inline, static] |
piecePair.h の 49 行で定義されています。
参照先 osl::Piece::isOnBoard(), osl::Piece::position(), と osl::Piece::ptypeO().
参照元 evalWithUpdate(), pieceValueDouble(), と value().
static int osl::eval::ml::PiecePair::valueCompiled | ( | int | offset_id, | |
Piece | p, | |||
Position | p1, | |||
PtypeO | o1 | |||
) | [inline, static] |
piecePair.h の 73 行で定義されています。
static int osl::eval::ml::PiecePair::weight | ( | Player | attack, | |
int | index, | |||
const Weights & | values | |||
) | [inline, static] |
piecePair.h の 41 行で定義されています。
const osl::CArray< const osl::Offset, 12 > osl::eval::ml::PiecePair::offsets [static] |
{{ DirectionPlayerTraits<UUL, BLACK>::offset(), DirectionPlayerTraits<UL, BLACK>::offset(), DirectionPlayerTraits<L, BLACK>::offset(), DirectionPlayerTraits<DL, BLACK>::offset(), DirectionPlayerTraits<UUR, WHITE>::offset(), DirectionPlayerTraits<D, BLACK>::offset(), DirectionPlayerTraits<UUL, WHITE>::offset(), DirectionPlayerTraits<DR, BLACK>::offset(), DirectionPlayerTraits<R, BLACK>::offset(), DirectionPlayerTraits<UR, BLACK>::offset(), DirectionPlayerTraits<UUR, BLACK>::offset(), DirectionPlayerTraits<U, BLACK>::offset(), }}
piecePair.h の 96 行で定義されています。
参照元 osl::eval::ml::PiecePair::IndexTable::amplify(), compile(), evalWithUpdate(), index(), osl::eval::ml::ppair::makeOffsetIndex(), osl::eval::ml::ppair::makeTableX(), osl::eval::ml::ppair::makeTableY(), pieceValueDouble(), sanitize(), と valueCompiled().
piecePair.h の 94 行で定義されています。
osl::CArray< osl::eval::ml::PiecePair::IndexTable, 10 > osl::eval::ml::PiecePair::x_table [static] |
piecePair.h の 95 行で定義されています。
osl::CArray< osl::eval::ml::PiecePair::IndexTable, 10 > osl::eval::ml::PiecePair::y_table [static] |
piecePair.h の 95 行で定義されています。