My Project
Classes | Public Types | Static Public Member Functions | Static Public Attributes | List of all members
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()

int osl::eval::ml::PiecePair::evalWithUpdate ( const NumEffectState state,
Move  moved,
int  last_value,
const Weights values 
)
static

◆ evalWithUpdateCompiled()

int osl::eval::ml::PiecePair::evalWithUpdateCompiled ( const NumEffectState state,
Move  moved,
int  last_value 
)
static

◆ index() [1/2]

osl::eval::ml::PiecePair::index_t osl::eval::ml::PiecePair::index ( int  offset_id,
Piece  p,
Piece  q 
)
static

Definition at line 439 of file piecePair.cc.

References osl::Piece::isOnBoard(), osl::Piece::isPiece(), osl::Piece::ptypeO(), and osl::Piece::square().

Referenced by value(), and weight().

◆ index() [2/2]

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

◆ init()

void osl::eval::ml::PiecePair::init ( )
static

◆ pieceValue()

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

Definition at line 668 of file piecePair.cc.

◆ pieceValueDouble()

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

◆ sanitize()

void osl::eval::ml::PiecePair::sanitize ( Weights values)
static

◆ 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

◆ value() [1/3]

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

Definition at line 48 of file piecePair.h.

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

Referenced by value(), and value().

◆ value() [2/3]

static 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]

static 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]

static 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()

static 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

const osl::CArray< osl::Offset, 12 > osl::eval::ml::PiecePair::offsets
static
Initial value:
= {
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(),
}

Definition at line 8 of file piecePair.h.

Referenced by osl::eval::ml::ppair::makeOffsetIndex(), osl::eval::ml::ppair::makeTableX(), and osl::eval::ml::ppair::makeTableY().

◆ plain_table

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

Definition at line 93 of file piecePair.h.

◆ 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.

◆ 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.


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