All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
osl::eval::ml::PiecePair Class Reference

#include <piecePair.h>

Collaboration diagram for osl::eval::ml::PiecePair:
Collaboration graph
[legend]

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
 

Public Member Functions

template<int Direction, int Offset>
int sum12One (const Piece *base_ptr, const int *xbase, const int *ybase)
 
template<int Direction, int Offset>
int adjust12One (const Piece *base_ptr, const int *xbase1, const int *ybase1, const int *xbase2, const int *ybase2)
 

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 を展開してクラス全体で使う More...
 
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< const
Offset, 12 > 
offsets
 

Detailed Description

Definition at line 18 of file piecePair.h.

Member Typedef Documentation

typedef CArray<int,3> osl::eval::ml::PiecePair::index_t

Definition at line 45 of file piecePair.h.

Member Enumeration Documentation

anonymous enum
Enumerator
plain_table_size 
x_table_size 
y_table_size 
DIM 

Definition at line 21 of file piecePair.h.

Member Function Documentation

int osl::eval::ml::PiecePair::adjust12 ( NumEffectState const &  state,
Square  base,
PtypeO  pos,
PtypeO  neg 
)
inlinestatic
template<int Direction, int Offset>
static int osl::eval::ml::PiecePair::adjust12One ( const Piece basePtr,
const int *  xbase1,
const int *  ybase1,
const int *  xbase2,
const int *  ybase2 
)
static
template<int Direction, int Offset>
int osl::eval::ml::PiecePair::adjust12One ( const Piece base_ptr,
const int *  xbase1,
const int *  ybase1,
const int *  xbase2,
const int *  ybase2 
)
inline
void osl::eval::ml::PiecePair::compile ( const Weights values)
static
int osl::eval::ml::PiecePair::eval ( const NumEffectState &  state,
const Weights values 
)
static

Definition at line 451 of file piecePair.cc.

References osl::Piece::SIZE.

Referenced by osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval().

int osl::eval::ml::PiecePair::evalWithUpdate ( const NumEffectState &  state,
Move  moved,
int  last_value,
const Weights values 
)
static
int osl::eval::ml::PiecePair::evalWithUpdateCompiled ( const NumEffectState &  state,
Move  moved,
int  last_value 
)
static
osl::eval::ml::PiecePair::index_t osl::eval::ml::PiecePair::index ( int  offset_id,
Piece  p,
Piece  q 
)
static
osl::eval::ml::PiecePair::index_t osl::eval::ml::PiecePair::index ( int  offset_id,
Square  p0,
PtypeO  o0,
Square  p1,
PtypeO  o1 
)
static
void osl::eval::ml::PiecePair::init ( )
static
int osl::eval::ml::PiecePair::pieceValue ( const NumEffectState &  state,
Piece  p,
const Weights values 
)
static

Definition at line 670 of file piecePair.cc.

int osl::eval::ml::PiecePair::pieceValueDouble ( const NumEffectState &  state,
Piece  p,
const Weights values 
)
static
void osl::eval::ml::PiecePair::sanitize ( Weights values)
static
int osl::eval::ml::PiecePair::sum12 ( NumEffectState const &  state,
Square  base,
PtypeO  ptypeO 
)
inlinestatic
template<int Direction, int Offset>
static int osl::eval::ml::PiecePair::sum12One ( const Piece basePtr,
const int *  xbase,
const int *  ybase 
)
static
template<int Direction, int Offset>
int osl::eval::ml::PiecePair::sum12One ( const Piece base_ptr,
const int *  xbase,
const int *  ybase 
)
inline
static int osl::eval::ml::PiecePair::value ( int  offset_id,
Piece  p,
Piece  q,
const Weights values 
)
inlinestatic

Definition at line 49 of file piecePair.h.

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

Referenced by value().

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

Definition at line 54 of file piecePair.h.

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

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 58 of file piecePair.h.

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

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

Definition at line 73 of file piecePair.h.

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

int osl::eval::ml::PiecePair::valueCompiled ( int  offset_id,
Square  p0,
PtypeO  o0,
Square  p1,
PtypeO  o1 
)
static
static int osl::eval::ml::PiecePair::weight ( Player  attack,
int  index,
const Weights values 
)
inlinestatic

Definition at line 41 of file piecePair.h.

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

Member Data Documentation

const osl::CArray< const 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 96 of file piecePair.h.

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

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

Definition at line 94 of file piecePair.h.

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

Definition at line 95 of file piecePair.h.

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

Definition at line 95 of file piecePair.h.


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