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

Definition at line 1843 of file minorPiece.cc.

References osl::BLACK, osl::container::QuadInt::clear(), evalPlayerPtype(), osl::SimpleState::kingSquare(), and osl::WHITE.

Referenced by evalPlayerPtype(), evalWithUpdateBang(), and osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval().

## evalPlayerPtype() [1/2]

template<osl::Player P, osl::Ptype T>

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

Referenced by 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, indexBoardCountX(), indexBoardCountY(), indexCountX(), indexCountY(), osl::playerToIndex(), xy_attack_table, and xy_table.

## 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

Definition at line 1888 of file minorPiece.cc.

References osl::alt(), osl::BLACK, osl::captured(), osl::Move::capturePtype(), osl::Move::capturePtypeO(), eval(), osl::Move::isDrop(), osl::Move::isPromotion(), osl::KING, osl::SimpleState::kingSquare(), osl::Move::oldPtype(), osl::Move::oldPtypeO(), osl::Move::player(), osl::Move::ptype(), osl::PTYPE_EMPTY, osl::Move::ptypeO(), osl::PTYPEO_MIN, osl::unpromote(), valueAll(), valueBoardAll(), and osl::WHITE.

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

## indexBoardCount() [1/2]

template<Ptype T>

int osl::eval::ml::PtypeCount::indexBoardCount | ( | int | count | ) |

inline static private

Definition at line 1445 of file minorPiece.h.

References osl::isPromoted().

## indexBoardCount() [2/2]

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

inline static private

Definition at line 1404 of file minorPiece.h.

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

## indexBoardCountX() [1/2]

template<Ptype T>

int osl::eval::ml::PtypeCount::indexBoardCountX | ( | int | count,
|  | int | x )

inline static private

Definition at line 1465 of file minorPiece.h.

References osl::isPromoted().

## indexBoardCountX() [2/2]

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

inline static private

Definition at line 1424 of file minorPiece.h.

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

Referenced by evalPlayerPtype(), and valueBoardAll().

## indexBoardCountY() [1/2]

template<Ptype T>

int osl::eval::ml::PtypeCount::indexBoardCountY | ( | int | count,
|  | int | y )

inline static private

Definition at line 1472 of file minorPiece.h.

References osl::isPromoted().

## indexBoardCountY() [2/2]

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

inline static private

Definition at line 1431 of file minorPiece.h.

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

Referenced by evalPlayerPtype(), and valueBoardAll().

## indexCount() [1/2]

template<Ptype T>

int osl::eval::ml::PtypeCount::indexCount | ( | int | count | ) |

inline static private

Definition at line 1439 of file minorPiece.h.

References osl::isPromoted().

## indexCount() [2/2]

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

inline static private

Definition at line 1398 of file minorPiece.h.

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

## indexCountX() [1/2]

template<Ptype T>

int osl::eval::ml::PtypeCount::indexCountX | ( | int | count,
|  | int | x )

inline static private

Definition at line 1451 of file minorPiece.h.

References osl::isPromoted().

## indexCountX() [2/2]

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

inline static private

Definition at line 1410 of file minorPiece.h.

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

Referenced by evalPlayerPtype(), and valueAll().

## indexCountY() [1/2]

template<Ptype T>

int osl::eval::ml::PtypeCount::indexCountY | ( | int | count,
|  | int | y )

inline static private

Definition at line 1458 of file minorPiece.h.

References osl::isPromoted().

## indexCountY() [2/2]

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

inline static private

Definition at line 1417 of file minorPiece.h.

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

Referenced by evalPlayerPtype(), and valueAll().

## setUp()

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

static

Definition at line 1701 of file minorPiece.cc.

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

## valueAll()

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 )

inline static private

Definition at line 1478 of file minorPiece.h.

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

Referenced by evalWithUpdateBang().

## valueBoardAll()

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 )

inline static private

Definition at line 1487 of file minorPiece.h.

References indexBoardCountX(), indexBoardCountY(), xy_attack_table_diff, and xy_table_diff.

Referenced by evalWithUpdateBang().

## Friends And Related Symbol Documentation

## PtypeCountXY

friend class PtypeCountXY

friend

Definition at line 1376 of file minorPiece.h.

References PtypeCountXY.

Referenced by PtypeCountXY.

## PtypeCountXYAttack

friend class PtypeCountXYAttack

friend

Definition at line 1377 of file minorPiece.h.

References PtypeCountXYAttack.

Referenced by PtypeCountXYAttack.

## Member Data Documentation

## table

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

static private

Definition at line 1496 of file minorPiece.h.

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

## xy_attack_table

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

static private

Definition at line 1498 of file minorPiece.h.

Referenced by evalPlayerPtype(), and osl::eval::ml::PtypeCountXYAttack::setUp().

## xy_attack_table_diff

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

static private

Definition at line 1500 of file minorPiece.h.

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

## xy_table

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

static private

Definition at line 1497 of file minorPiece.h.

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

## xy_table_diff

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

static private

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:

- minorPiece.h
- minorPiece.cc