#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, Square 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, Square 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, Square p0, PtypeO o0, Square p1, PtypeO o1) |
static int | value (int offset_id, Piece p, Piece q, const Weights &values) |
static int | value (int offset_id, Piece p, Square p1, PtypeO o1, const Weights &values) |
static int | value (int offset_id, Square p0, PtypeO o0, Square 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, Square p1, PtypeO o1) |
static int | valueCompiled (int offset_id, Square p0, PtypeO o0, Square p1, PtypeO o1) |
Static Public 変数 | |
static IndexTable | plain_table |
static CArray< IndexTable, 10 > | x_table |
static CArray< IndexTable, 10 > | y_table |
static const CArray< Offset, 12 > | offsets |
piecePair.h の 17 行で定義されています。
typedef CArray<int,3> osl::eval::ml::PiecePair::index_t |
piecePair.h の 44 行で定義されています。
anonymous enum |
piecePair.h の 20 行で定義されています。
int osl::eval::ml::PiecePair::adjust12 | ( | NumEffectState const & | state, | |
Square | base, | |||
PtypeO | pos, | |||
PtypeO | neg | |||
) | [inline, static] |
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 の 560 行で定義されています。
参照先 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 の 365 行で定義されています。
参照先 offsets, plain_table, osl::PTYPEO_SIZE, osl::CArray< T, Capacity >::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 の 450 行で定義されています。
参照先 osl::SimpleState::pieceOf(), pieceValueDouble(), と osl::Piece::SIZE.
int osl::eval::ml::PiecePair::evalWithUpdate | ( | const NumEffectState & | state, | |
Move | moved, | |||
int | last_value, | |||
const Weights & | values | |||
) | [static] |
piecePair.cc の 461 行で定義されています。
参照先 osl::Move::capturePtypeO(), osl::Move::from(), osl::Offset::index(), osl::Move::isCapture(), osl::Move::isPass(), osl::Piece::isPiece(), osl::Square::isPieceStand(), osl::eval::ml::ppair::offset_index, offsets, osl::Move::oldPtypeO(), osl::SimpleState::pieceAt(), osl::Move::ptypeO(), osl::CArray< T, Capacity >::size(), osl::Piece::square(), osl::Move::to(), と value().
int osl::eval::ml::PiecePair::evalWithUpdateCompiled | ( | const NumEffectState & | state, | |
Move | moved, | |||
int | last_value | |||
) | [static] |
piecePair.cc の 595 行で定義されています。
参照先 adjust12(), osl::Move::capturePtypeO(), osl::Move::from(), osl::Move::isCapture(), osl::Square::isPieceStand(), osl::eval::ml::ppair::offset_index, osl::Move::oldPtypeO(), osl::Move::ptypeO(), osl::ptypeOIndex(), sum12(), osl::Move::to(), osl::Square::x(), osl::eval::ml::ppair::x_values, osl::Square::y(), と osl::eval::ml::ppair::y_values.
osl::eval::ml::PiecePair::index_t osl::eval::ml::PiecePair::index | ( | int | offset_id, | |
Piece | p, | |||
Piece | q | |||
) | [static] |
piecePair.cc の 440 行で定義されています。
参照先 osl::Piece::isOnBoard(), osl::Piece::isPiece(), osl::Piece::ptypeO(), と osl::Piece::square().
参照元 sanitize(), と value().
osl::eval::ml::PiecePair::index_t osl::eval::ml::PiecePair::index | ( | int | offset_id, | |
Square | p0, | |||
PtypeO | o0, | |||
Square | p1, | |||
PtypeO | o1 | |||
) | [static] |
piecePair.cc の 420 行で定義されています。
参照先 osl::Square::isPieceStand(), offsets, plain_table, plain_table_size, osl::ptypeOIndex(), osl::Square::x(), x_table, x_table_size, osl::Square::y(), y_table, と y_table_size.
void osl::eval::ml::PiecePair::init | ( | ) | [static] |
int osl::eval::ml::PiecePair::pieceValue | ( | const NumEffectState & | state, | |
Piece | p, | |||
const Weights & | values | |||
) | [static] |
piecePair.cc の 669 行で定義されています。
参照先 pieceValueDouble().
int osl::eval::ml::PiecePair::pieceValueDouble | ( | const NumEffectState & | state, | |
Piece | p, | |||
const Weights & | values | |||
) | [static] |
void osl::eval::ml::PiecePair::sanitize | ( | Weights & | values | ) | [static] |
int osl::eval::ml::PiecePair::sum12 | ( | NumEffectState const & | state, | |
Square | base, | |||
PtypeO | ptypeO | |||
) | [inline, static] |
int osl::eval::ml::PiecePair::sum12One | ( | const Piece * | basePtr, | |
const int * | xbase, | |||
const int * | ybase | |||
) | [inline, static] |
piecePair.cc の 529 行で定義されています。
参照先 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, | |
Piece | p, | |||
Square | p1, | |||
PtypeO | o1, | |||
const Weights & | values | |||
) | [inline, static] |
piecePair.h の 53 行で定義されています。
static int osl::eval::ml::PiecePair::value | ( | int | offset_id, | |
Square | p0, | |||
PtypeO | o0, | |||
Square | p1, | |||
PtypeO | o1, | |||
const Weights & | values | |||
) | [inline, static] |
piecePair.h の 57 行で定義されています。
static int osl::eval::ml::PiecePair::value | ( | int | offset_id, | |
Piece | p, | |||
Piece | q, | |||
const Weights & | values | |||
) | [inline, static] |
piecePair.h の 48 行で定義されています。
参照先 osl::Piece::isOnBoard(), osl::Piece::ptypeO(), と osl::Piece::square().
参照元 evalWithUpdate(), pieceValueDouble(), と value().
static int osl::eval::ml::PiecePair::valueCompiled | ( | int | offset_id, | |
Piece | p, | |||
Square | p1, | |||
PtypeO | o1 | |||
) | [inline, static] |
piecePair.h の 72 行で定義されています。
static int osl::eval::ml::PiecePair::weight | ( | Player | attack, | |
int | index, | |||
const Weights & | values | |||
) | [inline, static] |
piecePair.h の 40 行で定義されています。
const osl::CArray< 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 の 95 行で定義されています。
参照元 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 の 93 行で定義されています。
piecePair.h の 94 行で定義されています。
piecePair.h の 94 行で定義されています。