PiecePairEvalTable の添字計算. More...
#include <piecePairIndex.h>
Public Member Functions | |
template<class F > | |
void | forEachRelation (F f) |
Static Public Member Functions | |
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) |
逆変換 More... | |
static unsigned int | positionIndexOf (Square pos) |
static unsigned int | ptypeOIndexOf (PtypeO ptypeo) |
static unsigned int | indexOf (Square pos, PtypeO ptypeo) |
static void | meltIndex (size_t index, Square &pos, PtypeO &ptypeo) |
逆変換 More... | |
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を実行する.重複する関係は訪れない More... | |
Static Public Attributes | |
static const unsigned int | maxSquareIndex = 82 |
static const unsigned int | maxPtypeOIndex = PTYPEO_SIZE |
static const unsigned int | maxPieceIndex = maxSquareIndex*maxPtypeOIndex |
static const unsigned int | maxPairIndex = maxPieceIndex*maxPieceIndex |
PiecePairEvalTable の添字計算.
キャッシュのヒット率を上げるために,r2246から計算を変更する. r2246以降では片方あるいは両方がSquare::STAND()の場合は tableの中身が0であるとして,差分計算の対象から外す.
Definition at line 21 of file piecePairIndex.h.
|
inlinestatic |
Definition at line 39 of file piecePairIndex.h.
References indexOf().
|
static |
全ての関係についてfを実行する.重複する関係は訪れない
void osl::eval::ppair::PiecePairIndex::forEachRelation | ( | F | f) |
Definition at line 103 of file piecePairIndex.h.
References osl::BLACK, osl::KING, osl::newPtypeO(), osl::PPAWN, osl::PTYPE_MAX, and osl::WHITE.
|
inlinestatic |
Definition at line 33 of file piecePairIndex.h.
References maxPieceIndex.
Referenced by 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(), indexOf(), indexOfPieceNum(), selfIndexOf(), and osl::eval::ppair::PiecePairTable< signed char >::valueOf().
|
inlinestatic |
Definition at line 62 of file piecePairIndex.h.
References maxSquareIndex, positionIndexOf(), ptypeOIndexOf(), and result.
|
inlinestatic |
Definition at line 75 of file piecePairIndex.h.
References indexOf(), osl::Piece::ptypeO(), and osl::Piece::square().
Definition at line 79 of file piecePairIndex.h.
References indexOf().
|
inlinestatic |
Definition at line 84 of file piecePairIndex.h.
References indexOf().
|
inlinestatic |
|
inlinestatic |
逆変換
Definition at line 69 of file piecePairIndex.h.
References maxSquareIndex, osl::SquareCompressor::melt(), and osl::PTYPEO_MIN.
|
inlinestatic |
Definition at line 52 of file piecePairIndex.h.
References osl::SquareCompressor::compress(), maxSquareIndex, and result.
Referenced by indexOf().
|
inlinestatic |
Definition at line 58 of file piecePairIndex.h.
References osl::PTYPEO_MIN.
Referenced by indexOf().
|
inlinestatic |
Definition at line 28 of file piecePairIndex.h.
References indexOf().
|
static |
Definition at line 26 of file piecePairIndex.h.
|
static |
Definition at line 25 of file piecePairIndex.h.
Referenced by indexOf(), and meltIndex().
|
static |
Definition at line 24 of file piecePairIndex.h.
|
static |
Definition at line 23 of file piecePairIndex.h.
Referenced by indexOf(), meltIndex(), and positionIndexOf().