My Project
osl::eval::ml::PiecePair Class Reference

#include <piecePair.h>

Classes

struct  IndexTable

Public Types

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 Member Functions

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 Attributes

static IndexTable plain_table
static CArray< IndexTable, 10 > x_table
static CArray< IndexTable, 10 > y_table
static const CArray< Offset, 12 > offsets

Detailed Description

Definition at line 17 of file piecePair.h.

Member Typedef Documentation

◆ index_t

Definition at line 44 of file piecePair.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
plain_table_size 
x_table_size 
y_table_size 
DIM 

Definition at line 20 of file piecePair.h.

Member Function Documentation

◆ adjust12()

int osl::eval::ml::PiecePair::adjust12 ( NumEffectState const & state,
Square base,
PtypeO pos,
PtypeO neg )
inlinestatic

◆ adjust12One()

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 )
inlinestatic

◆ compile()

void osl::eval::ml::PiecePair::compile ( const Weights & values)
static

◆ eval()

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

◆ evalWithUpdate()

◆ evalWithUpdateCompiled()

◆ index() [1/2]

◆ index() [2/2]

◆ init()

◆ pieceValue()

int osl::eval::ml::PiecePair::pieceValue ( const NumEffectState & state,
Piece p,
const Weights & values )
static

Definition at line 668 of file piecePair.cc.

References pieceValueDouble().

◆ pieceValueDouble()

int osl::eval::ml::PiecePair::pieceValueDouble ( const NumEffectState & state,
Piece p,
const Weights & values )
static

◆ sanitize()

◆ sum12()

int osl::eval::ml::PiecePair::sum12 ( NumEffectState const & state,
Square base,
PtypeO ptypeO )
inlinestatic

◆ sum12One()

template<int Direction, int Offset>
int osl::eval::ml::PiecePair::sum12One ( const Piece * basePtr,
const int * xbase,
const int * ybase )
inlinestatic

Definition at line 528 of file piecePair.cc.

References osl::Piece::ptypeO(), osl::eval::ml::ppair::x_values, and osl::eval::ml::ppair::y_values.

Referenced by sum12().

◆ value() [1/3]

int osl::eval::ml::PiecePair::value ( int offset_id,
Piece p,
Piece q,
const Weights & values )
inlinestatic

◆ value() [2/3]

int osl::eval::ml::PiecePair::value ( int offset_id,
Piece p,
Square p1,
PtypeO o1,
const Weights & values )
inlinestatic

Definition at line 53 of file piecePair.h.

References osl::Piece::ptypeO(), osl::Piece::square(), and value().

◆ value() [3/3]

int osl::eval::ml::PiecePair::value ( int offset_id,
Square p0,
PtypeO o0,
Square p1,
PtypeO o1,
const Weights & values )
inlinestatic

Definition at line 57 of file piecePair.h.

References index(), and osl::eval::ml::Weights::value().

◆ valueCompiled() [1/2]

int osl::eval::ml::PiecePair::valueCompiled ( int offset_id,
Piece p,
Square p1,
PtypeO o1 )
inlinestatic

Definition at line 72 of file piecePair.h.

References osl::Piece::ptypeO(), osl::Piece::square(), and valueCompiled().

Referenced by valueCompiled().

◆ valueCompiled() [2/2]

int osl::eval::ml::PiecePair::valueCompiled ( int offset_id,
Square p0,
PtypeO o0,
Square p1,
PtypeO o1 )
static

◆ weight()

int osl::eval::ml::PiecePair::weight ( Player attack,
int index,
const Weights & values )
inlinestatic

Definition at line 40 of file piecePair.h.

References osl::eval::delta(), index(), and osl::eval::ml::Weights::value().

Member Data Documentation

◆ offsets

◆ plain_table

osl::eval::ml::PiecePair::IndexTable osl::eval::ml::PiecePair::plain_table
static

Definition at line 93 of file piecePair.h.

Referenced by compile(), and index().

◆ x_table

osl::CArray< osl::eval::ml::PiecePair::IndexTable, 10 > osl::eval::ml::PiecePair::x_table
static

Definition at line 94 of file piecePair.h.

Referenced by compile(), and index().

◆ y_table

osl::CArray< osl::eval::ml::PiecePair::IndexTable, 10 > osl::eval::ml::PiecePair::y_table
static

Definition at line 94 of file piecePair.h.

Referenced by compile(), and index().


The documentation for this class was generated from the following files: