クラス osl::eval::ml::PiecePair

#include <piecePair.h>

osl::eval::ml::PiecePairのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

構成

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.h18 行で定義されています。


型定義

typedef CArray<int,3> osl::eval::ml::PiecePair::index_t

piecePair.h45 行で定義されています。


列挙型

anonymous enum
列挙型の値:
plain_table_size 
x_table_size 
y_table_size 
DIM 

piecePair.h21 行で定義されています。


関数

int osl::eval::ml::PiecePair::adjust12 ( NumEffectState const &  state,
Position  base,
PtypeO  pos,
PtypeO  neg 
) [inline, static]
template<int Direction, int Offset>
int osl::eval::ml::PiecePair::adjust12One ( const Piece basePtr,
const int *  xbase1,
const int *  ybase1,
const int *  xbase2,
const int *  ybase2 
) [inline, static]

piecePair.cc561 行で定義されています。

参照先 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.cc366 行で定義されています。

参照先 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.

参照元 osl::eval::ml::OpenMidEndingEval::setUp().

int osl::eval::ml::PiecePair::eval ( const NumEffectState &  state,
const Weights values 
) [static]

piecePair.cc451 行で定義されています。

参照先 pieceValueDouble(), と osl::Piece::SIZE.

参照元 osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval().

int osl::eval::ml::PiecePair::evalWithUpdate ( const NumEffectState &  state,
Move  moved,
int  last_value,
const Weights values 
) [static]
int osl::eval::ml::PiecePair::evalWithUpdateCompiled ( const NumEffectState &  state,
Move  moved,
int  last_value 
) [static]
osl::eval::ml::PiecePair::index_t osl::eval::ml::PiecePair::index ( int  offset_id,
Position  p0,
PtypeO  o0,
Position  p1,
PtypeO  o1 
) [static]
osl::eval::ml::PiecePair::index_t osl::eval::ml::PiecePair::index ( int  offset_id,
Piece  p,
Piece  q 
) [static]

piecePair.cc441 行で定義されています。

参照先 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.cc670 行で定義されています。

参照先 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,
Position  base,
PtypeO  ptypeO 
) [inline, static]
template<int Direction, int Offset>
int osl::eval::ml::PiecePair::sum12One ( const Piece basePtr,
const int *  xbase,
const int *  ybase 
) [inline, static]

piecePair.cc530 行で定義されています。

参照先 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.h58 行で定義されています。

参照先 index(), と osl::eval::ml::Weights::value().

static int osl::eval::ml::PiecePair::value ( int  offset_id,
Piece  p,
Position  p1,
PtypeO  o1,
const Weights values 
) [inline, static]

piecePair.h54 行で定義されています。

参照先 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.h49 行で定義されています。

参照先 osl::Piece::isOnBoard(), osl::Piece::position(), と osl::Piece::ptypeO().

参照元 evalWithUpdate(), pieceValueDouble(), と value().

int osl::eval::ml::PiecePair::valueCompiled ( int  offset_id,
Position  p0,
PtypeO  o0,
Position  p1,
PtypeO  o1 
) [static]
static int osl::eval::ml::PiecePair::valueCompiled ( int  offset_id,
Piece  p,
Position  p1,
PtypeO  o1 
) [inline, static]

piecePair.h73 行で定義されています。

参照先 osl::Piece::position(), と osl::Piece::ptypeO().

static int osl::eval::ml::PiecePair::weight ( Player  attack,
int  index,
const Weights values 
) [inline, static]

piecePair.h41 行で定義されています。

参照先 osl::eval::delta(), と osl::eval::ml::Weights::value().


変数

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.h96 行で定義されています。

参照元 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.h94 行で定義されています。

参照元 compile(), と index().

piecePair.h95 行で定義されています。

参照元 compile(), と index().

piecePair.h95 行で定義されています。

参照元 compile(), と index().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:58:13 2010に生成されました。  doxygen 1.6.3