構造体 osl::eval::ppair::PiecePairIndex

PiecePairEvalTable の添字計算. [詳細]

#include <piecePairIndex.h>

osl::eval::ppair::PiecePairIndexに対する継承グラフ
Inheritance graph
[凡例]

すべてのメンバ一覧

Static Public メソッド

static unsigned int selfIndexOf (unsigned int i)
static unsigned int indexOf (unsigned int i1, unsigned int i2)
static unsigned int canonicalIndexOf (unsigned int i1, unsigned int i2)
static void meltIndex (size_t index, size_t &i1, size_t &i2)
 逆変換
static unsigned int positionIndexOf (Position pos)
static unsigned int ptypeOIndexOf (PtypeO ptypeo)
static unsigned int indexOf (Position pos, PtypeO ptypeo)
static void meltIndex (size_t index, Position &pos, PtypeO &ptypeo)
 逆変換
static unsigned int indexOf (Piece piece)
static unsigned int indexOf (Piece p1, Piece p2)
static unsigned int indexOfPieceNum (const SimpleState &s, int id)
template<class F >
static void forEachRelation (F f)
 全ての関係についてfを実行する.重複する関係は訪れない

Static Public 変数

static const unsigned int maxPositionIndex = 82
static const unsigned int maxPtypeOIndex = PTYPEO_SIZE
static const unsigned int maxPieceIndex = maxPositionIndex*maxPtypeOIndex
static const unsigned int maxPairIndex = maxPieceIndex*maxPieceIndex

説明

PiecePairEvalTable の添字計算.

キャッシュのヒット率を上げるために,r2246から計算を変更する. r2246以降では片方あるいは両方がPositionSTAND()の場合は tableの中身が0であるとして,差分計算の対象から外す.

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


関数

static unsigned int osl::eval::ppair::PiecePairIndex::canonicalIndexOf ( unsigned int  i1,
unsigned int  i2 
) [inline, static]

piecePairIndex.h39 行で定義されています。

参照先 indexOf().

template<class F >
void osl::eval::ppair::PiecePairIndex::forEachRelation ( f  )  [inline, static]

全ての関係についてfを実行する.重複する関係は訪れない

piecePairIndex.h103 行で定義されています。

参照先 osl::BLACK, indexOf(), osl::KING, osl::newPtypeO(), osl::PPAWN, osl::PTYPE_MAX, osl::Position::STAND(), と osl::WHITE.

static unsigned int osl::eval::ppair::PiecePairIndex::indexOf ( Piece  p1,
Piece  p2 
) [inline, static]

piecePairIndex.h79 行で定義されています。

参照先 indexOf().

static unsigned int osl::eval::ppair::PiecePairIndex::indexOf ( Piece  piece  )  [inline, static]

piecePairIndex.h75 行で定義されています。

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

static unsigned int osl::eval::ppair::PiecePairIndex::indexOf ( Position  pos,
PtypeO  ptypeo 
) [inline, static]

piecePairIndex.h62 行で定義されています。

参照先 maxPositionIndex, positionIndexOf(), ptypeOIndexOf(), と result.

static unsigned int osl::eval::ppair::PiecePairIndex::indexOf ( unsigned int  i1,
unsigned int  i2 
) [inline, static]
static unsigned int osl::eval::ppair::PiecePairIndex::indexOfPieceNum ( const SimpleState &  s,
int  id 
) [inline, static]
static void osl::eval::ppair::PiecePairIndex::meltIndex ( size_t  index,
Position pos,
PtypeO ptypeo 
) [inline, static]

逆変換

piecePairIndex.h69 行で定義されています。

参照先 maxPositionIndex, osl::PositionCompressor::melt(), と osl::PTYPEO_MIN.

static void osl::eval::ppair::PiecePairIndex::meltIndex ( size_t  index,
size_t &  i1,
size_t &  i2 
) [inline, static]

逆変換

piecePairIndex.h46 行で定義されています。

参照先 maxPieceIndex.

static unsigned int osl::eval::ppair::PiecePairIndex::positionIndexOf ( Position  pos  )  [inline, static]

piecePairIndex.h52 行で定義されています。

参照先 osl::PositionCompressor::compress(), maxPositionIndex, と result.

参照元 indexOf().

static unsigned int osl::eval::ppair::PiecePairIndex::ptypeOIndexOf ( PtypeO  ptypeo  )  [inline, static]

piecePairIndex.h58 行で定義されています。

参照先 osl::PTYPEO_MIN.

参照元 indexOf().

static unsigned int osl::eval::ppair::PiecePairIndex::selfIndexOf ( unsigned int  i  )  [inline, static]

piecePairIndex.h28 行で定義されています。

参照先 indexOf().

参照元 osl::eval::ppair::PiecePairPieceTable::setUp().


変数

piecePairIndex.h26 行で定義されています。

参照元 osl::eval::ppair::PiecePairPieceTable::setUp().

piecePairIndex.h25 行で定義されています。

参照元 indexOf(), と meltIndex().

const unsigned int osl::eval::ppair::PiecePairIndex::maxPositionIndex = 82 [static]

piecePairIndex.h23 行で定義されています。

参照元 indexOf(), meltIndex(), と positionIndexOf().

piecePairIndex.h24 行で定義されています。


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