PiecePairEvalTable の添字計算. [詳細]
#include <piecePairIndex.h>
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.h の 21 行で定義されています。
static unsigned int osl::eval::ppair::PiecePairIndex::canonicalIndexOf | ( | unsigned int | i1, | |
unsigned int | i2 | |||
) | [inline, static] |
piecePairIndex.h の 39 行で定義されています。
参照先 indexOf().
void osl::eval::ppair::PiecePairIndex::forEachRelation | ( | F | f | ) | [inline, static] |
全ての関係についてfを実行する.重複する関係は訪れない
piecePairIndex.h の 103 行で定義されています。
参照先 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.h の 79 行で定義されています。
参照先 indexOf().
static unsigned int osl::eval::ppair::PiecePairIndex::indexOf | ( | Piece | piece | ) | [inline, static] |
piecePairIndex.h の 75 行で定義されています。
参照先 indexOf(), osl::Piece::position(), と osl::Piece::ptypeO().
static unsigned int osl::eval::ppair::PiecePairIndex::indexOf | ( | Position | pos, | |
PtypeO | ptypeo | |||
) | [inline, static] |
piecePairIndex.h の 62 行で定義されています。
参照先 maxPositionIndex, positionIndexOf(), ptypeOIndexOf(), と result.
static unsigned int osl::eval::ppair::PiecePairIndex::indexOf | ( | unsigned int | i1, | |
unsigned int | i2 | |||
) | [inline, static] |
piecePairIndex.h の 33 行で定義されています。
参照先 maxPieceIndex.
参照元 osl::eval::ppair::PiecePairEvalTableBase< Table >::adjustPairs(), osl::eval::ppair::PiecePairEvalTableBase< Table >::adjustPairsAfterMove(), canonicalIndexOf(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffAfterCaptureMove(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffAfterDropMove(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffAfterSimpleMove(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffWithUpdate(), forEachRelation(), indexOf(), indexOfPieceNum(), osl::eval::ppair::PiecePairRawTable::loadFromBinaryFile(), selfIndexOf(), osl::eval::ppair::PiecePairPieceTable::setUp(), osl::eval::ppair::PiecePairTable< signed char >::valueOf(), と osl::eval::ppair::PiecePairRawTable::writeInBinaryFile().
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.h の 69 行で定義されています。
参照先 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] |
static unsigned int osl::eval::ppair::PiecePairIndex::positionIndexOf | ( | Position | pos | ) | [inline, static] |
piecePairIndex.h の 52 行で定義されています。
参照先 osl::PositionCompressor::compress(), maxPositionIndex, と result.
参照元 indexOf().
static unsigned int osl::eval::ppair::PiecePairIndex::ptypeOIndexOf | ( | PtypeO | ptypeo | ) | [inline, static] |
static unsigned int osl::eval::ppair::PiecePairIndex::selfIndexOf | ( | unsigned int | i | ) | [inline, static] |
piecePairIndex.h の 28 行で定義されています。
参照先 indexOf().
const unsigned int osl::eval::ppair::PiecePairIndex::maxPairIndex = maxPieceIndex*maxPieceIndex [static] |
piecePairIndex.h の 26 行で定義されています。
const unsigned int osl::eval::ppair::PiecePairIndex::maxPieceIndex = maxPositionIndex*maxPtypeOIndex [static] |
piecePairIndex.h の 25 行で定義されています。
参照元 indexOf(), と meltIndex().
const unsigned int osl::eval::ppair::PiecePairIndex::maxPositionIndex = 82 [static] |
piecePairIndex.h の 23 行で定義されています。
参照元 indexOf(), meltIndex(), と positionIndexOf().
const unsigned int osl::eval::ppair::PiecePairIndex::maxPtypeOIndex = PTYPEO_SIZE [static] |
piecePairIndex.h の 24 行で定義されています。