My Project
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

References eval().

◆ 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 1783 of file minorPiece.cc.

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

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

Definition at line 1445 of file minorPiece.h.

References osl::isPromoted().

◆ indexBoardCount() [2/2]

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

◆ indexBoardCountX() [1/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().

◆ indexBoardCountX() [2/2]

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

◆ indexBoardCountY() [1/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().

◆ indexBoardCountY() [2/2]

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

◆ indexCount() [1/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().

◆ indexCount() [2/2]

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

◆ indexCountX() [1/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().

◆ indexCountX() [2/2]

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

Definition at line 1410 of file minorPiece.h.

References osl::PtypeTable::getIndexMin(), osl::isPromoted(), osl::Ptype_Table, and osl::unpromote().

Referenced by valueAll().

◆ indexCountY() [1/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().

◆ indexCountY() [2/2]

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

Definition at line 1417 of file minorPiece.h.

References osl::PtypeTable::getIndexMin(), osl::isPromoted(), osl::Ptype_Table, and osl::unpromote().

Referenced by valueAll().

◆ setUp()

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

Definition at line 1701 of file minorPiece.cc.

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

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

References indexCountX(), indexCountY(), xy_attack_table_diff, and xy_table_diff.

◆ 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

Friends And Related Symbol 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

Definition at line 1496 of file minorPiece.h.

Referenced by osl::eval::ml::PtypeCountXY::setUp().

◆ xy_attack_table

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

Definition at line 1498 of file minorPiece.h.

Referenced by osl::eval::ml::PtypeCountXYAttack::setUp().

◆ 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

Definition at line 1497 of file minorPiece.h.

Referenced by osl::eval::ml::PtypeCountXY::setUp().

◆ xy_table_diff

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

Definition at line 1499 of file minorPiece.h.

Referenced by osl::eval::ml::PtypeCountXY::setUp(), valueAll(), and valueBoardAll().


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