Public Types | Public Member Functions | Static Public Member Functions | Static Private Member Functions | Static Private Attributes | Friends | List of all members
osl::eval::ml::PtypeCount Class Reference

#include <minorPiece.h>

Public Types

enum  { ONE_DIM = 160, DIM = ONE_DIM * EvalStages }
 

Public Member Functions

template<osl::Player P, osl::Ptype T>
MultiInt evalPlayerPtype (const osl::CArray2d< int, 2, osl::PTYPE_SIZE > &ptype_count, const osl::CArray2d< int, 2, osl::PTYPE_SIZE > &ptype_board_count, const osl::CArray< int, 2 > &kings_x, const osl::CArray< int, 2 > &kings_y)
 

Static Public Member Functions

static void setUp (const Weights &weights)
 
template<osl::Player P, osl::Ptype T>
static MultiInt evalPlayerPtype (const CArray2d< int, 2, PTYPE_SIZE > &ptype_count, const CArray2d< int, 2, PTYPE_SIZE > &ptype_board_count, const osl::CArray< int, 2 > &kings_x, const osl::CArray< int, 2 > &kings_y)
 
static void eval (const NumEffectState &state, const CArray2d< int, 2, PTYPE_SIZE > &ptype_count, const CArray2d< int, 2, PTYPE_SIZE > &ptype_board_count, MultiInt &out)
 
template<Player P>
static void evalWithUpdateBang (const NumEffectState &state, Move last_move, CArray2d< int, 2, PTYPE_SIZE > &ptype_count, CArray2d< int, 2, PTYPE_SIZE > &ptype_board_count, MultiInt &last_value_and_out, unsigned int &ptypeo_mask)
 

Static Private Member Functions

static int indexCount (Ptype ptype, int count)
 
static int indexBoardCount (Ptype ptype, int count)
 
static int indexCountX (Ptype ptype, int count, int x)
 
static int indexCountY (Ptype ptype, int count, int y)
 
static int indexBoardCountX (Ptype ptype, int count, int x)
 
static int indexBoardCountY (Ptype ptype, int count, int y)
 
template<Ptype T>
static int indexCount (int count)
 
template<Ptype T>
static int indexBoardCount (int count)
 
template<Ptype T>
static int indexCountX (int count, int x)
 
template<Ptype T>
static int indexCountY (int count, int y)
 
template<Ptype T>
static int indexBoardCountX (int count, int x)
 
template<Ptype T>
static int indexBoardCountY (int count, int y)
 
static MultiInt valueAll (Ptype ptype, int count, int my_king_x, int my_king_y, int op_king_x, int op_king_y)
 
static MultiInt valueBoardAll (Ptype ptype, int count, int my_king_x, int my_king_y, int op_king_x, int op_king_y)
 

Static Private Attributes

static CArray< MultiInt, 160 > table
 
static CArray< MultiInt, 2240 > xy_table
 
static CArray< MultiInt, 2240 > xy_attack_table
 
static CArray< MultiInt, 2240 > xy_table_diff
 
static CArray< MultiInt, 2240 > xy_attack_table_diff
 

Friends

class PtypeCountXY
 
class PtypeCountXYAttack
 

Detailed Description

Definition at line 1374 of file minorPiece.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ONE_DIM 
DIM 

Definition at line 1379 of file minorPiece.h.

Member Function Documentation

◆ eval()

void osl::eval::ml::PtypeCount::eval ( const NumEffectState state,
const CArray2d< int, 2, PTYPE_SIZE > &  ptype_count,
const CArray2d< int, 2, PTYPE_SIZE > &  ptype_board_count,
MultiInt out 
)
static

◆ evalPlayerPtype() [1/2]

template<osl::Player P, osl::Ptype T>
static MultiInt osl::eval::ml::PtypeCount::evalPlayerPtype ( const CArray2d< int, 2, PTYPE_SIZE > &  ptype_count,
const CArray2d< int, 2, PTYPE_SIZE > &  ptype_board_count,
const osl::CArray< int, 2 > &  kings_x,
const osl::CArray< int, 2 > &  kings_y 
)
static

◆ evalPlayerPtype() [2/2]

template<osl::Player P, osl::Ptype T>
MultiInt osl::eval::ml::PtypeCount::evalPlayerPtype ( const osl::CArray2d< int, 2, osl::PTYPE_SIZE > &  ptype_count,
const osl::CArray2d< int, 2, osl::PTYPE_SIZE > &  ptype_board_count,
const osl::CArray< int, 2 > &  kings_x,
const osl::CArray< int, 2 > &  kings_y 
)

Definition at line 1784 of file minorPiece.cc.

References osl::__attribute__(), osl::BLACK, and osl::playerToIndex().

◆ evalWithUpdateBang()

template<osl::Player P>
template void osl::eval::ml::PtypeCount::evalWithUpdateBang< WHITE > ( const NumEffectState state,
Move  last_move,
CArray2d< int, 2, PTYPE_SIZE > &  ptype_count,
CArray2d< int, 2, PTYPE_SIZE > &  ptype_board_count,
MultiInt last_value_and_out,
unsigned int &  ptypeo_mask 
)
static

◆ indexBoardCount() [1/2]

static int osl::eval::ml::PtypeCount::indexBoardCount ( Ptype  ptype,
int  count 
)
inlinestaticprivate

◆ indexBoardCount() [2/2]

template<Ptype T>
static int osl::eval::ml::PtypeCount::indexBoardCount ( int  count)
inlinestaticprivate

Definition at line 1445 of file minorPiece.h.

References osl::isPromoted().

◆ indexBoardCountX() [1/2]

static int osl::eval::ml::PtypeCount::indexBoardCountX ( Ptype  ptype,
int  count,
int  x 
)
inlinestaticprivate

◆ indexBoardCountX() [2/2]

template<Ptype T>
static int osl::eval::ml::PtypeCount::indexBoardCountX ( int  count,
int  x 
)
inlinestaticprivate

Definition at line 1465 of file minorPiece.h.

References osl::isPromoted().

◆ indexBoardCountY() [1/2]

static int osl::eval::ml::PtypeCount::indexBoardCountY ( Ptype  ptype,
int  count,
int  y 
)
inlinestaticprivate

◆ indexBoardCountY() [2/2]

template<Ptype T>
static int osl::eval::ml::PtypeCount::indexBoardCountY ( int  count,
int  y 
)
inlinestaticprivate

Definition at line 1472 of file minorPiece.h.

References osl::isPromoted().

◆ indexCount() [1/2]

static int osl::eval::ml::PtypeCount::indexCount ( Ptype  ptype,
int  count 
)
inlinestaticprivate

◆ indexCount() [2/2]

template<Ptype T>
static int osl::eval::ml::PtypeCount::indexCount ( int  count)
inlinestaticprivate

Definition at line 1439 of file minorPiece.h.

References osl::isPromoted().

◆ indexCountX() [1/2]

static int osl::eval::ml::PtypeCount::indexCountX ( Ptype  ptype,
int  count,
int  x 
)
inlinestaticprivate

◆ indexCountX() [2/2]

template<Ptype T>
static int osl::eval::ml::PtypeCount::indexCountX ( int  count,
int  x 
)
inlinestaticprivate

Definition at line 1451 of file minorPiece.h.

References osl::isPromoted().

◆ indexCountY() [1/2]

static int osl::eval::ml::PtypeCount::indexCountY ( Ptype  ptype,
int  count,
int  y 
)
inlinestaticprivate

◆ indexCountY() [2/2]

template<Ptype T>
static int osl::eval::ml::PtypeCount::indexCountY ( int  count,
int  y 
)
inlinestaticprivate

Definition at line 1458 of file minorPiece.h.

References osl::isPromoted().

◆ setUp()

void osl::eval::ml::PtypeCount::setUp ( const Weights weights)
static

◆ valueAll()

static MultiInt osl::eval::ml::PtypeCount::valueAll ( Ptype  ptype,
int  count,
int  my_king_x,
int  my_king_y,
int  op_king_x,
int  op_king_y 
)
inlinestaticprivate

Definition at line 1478 of file minorPiece.h.

◆ valueBoardAll()

static MultiInt osl::eval::ml::PtypeCount::valueBoardAll ( Ptype  ptype,
int  count,
int  my_king_x,
int  my_king_y,
int  op_king_x,
int  op_king_y 
)
inlinestaticprivate

Definition at line 1487 of file minorPiece.h.

Friends And Related Function Documentation

◆ PtypeCountXY

friend class PtypeCountXY
friend

Definition at line 1376 of file minorPiece.h.

◆ PtypeCountXYAttack

friend class PtypeCountXYAttack
friend

Definition at line 1377 of file minorPiece.h.

Member Data Documentation

◆ table

osl::CArray< MultiInt, 160 > osl::eval::ml::PtypeCount::table
staticprivate

◆ xy_attack_table

osl::CArray< MultiInt, 2240 > osl::eval::ml::PtypeCount::xy_attack_table
staticprivate

◆ xy_attack_table_diff

osl::CArray< MultiInt, 2240 > osl::eval::ml::PtypeCount::xy_attack_table_diff
staticprivate

◆ xy_table

osl::CArray< MultiInt, 2240 > osl::eval::ml::PtypeCount::xy_table
staticprivate

◆ xy_table_diff

osl::CArray< MultiInt, 2240 > osl::eval::ml::PtypeCount::xy_table_diff
staticprivate

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