osl::eval::ml::King25Effect3 Class Reference

`#include <kingTable.h>`

## Public Types

enum | { ONE_DIM = 2400 , DIM = ONE_DIM * EvalStages }

## Public Member Functions

template<osl::Player Attack>
osl::MultiInt | evalOne (const NumEffectState &state, PieceMask king25)

## Static Public Member Functions

static void | setUp (const Weights &weights)
static MultiInt | eval (const NumEffectState &state, const CArray< PieceMask, 2 > &king25_mask)

## Static Private Member Functions

static int | index (int piece_count, bool with_knight, int stand_count, bool with_knight_on_stand, int attacked_count)
static int | indexY (int piece_count, bool with_knight, int stand_count, bool with_knight_on_stand, int attacked_count, int king_y)
template<osl::Player Attack>
static MultiInt | evalOne (const NumEffectState &state, PieceMask king25)

## Static Private Attributes

static CArray< MultiInt, 2400 > | table
static CArray< MultiInt, 21600 > | y_table

## Friends

class | King25Effect3Y

## Detailed Description

Definition at line 906 of file kingTable.h.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
ONE_DIM |
DIM |

Definition at line 910 of file kingTable.h.

## Member Function Documentation

## eval()

osl::MultiInt osl::eval::ml::King25Effect3::eval | ( | const NumEffectState & | state,
|  | const CArray< PieceMask, 2 > & | king25_mask )

static

Definition at line 1766 of file kingTable.cc.

References osl::BLACK, evalOne(), and osl::WHITE.

Referenced by osl::eval::ml::OpenMidEndingEval::debugInfo(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), and osl::eval::ml::OpenMidEndingEval::updateSub().

## evalOne() [1/2]

template<osl::Player Attack>

osl::MultiInt osl::eval::ml::King25Effect3::evalOne | ( | const NumEffectState & | state,
|  | PieceMask | king25 )

Definition at line 1715 of file kingTable.cc.

References osl::alt(), osl::PieceMask::any(), osl::BISHOP, osl::BLACK, osl::PieceMask::clearBit(), osl::container::PieceMask64::countBit(), osl::SimpleState::countPiecesOnStand(), osl::NumEffectState::effectedMask(), osl::NumEffectState::effectSetAt(), osl::GOLD, osl::SimpleState::hasPieceOnStand(), index(), indexY(), osl::SimpleState::kingSquare(), osl::KNIGHT, osl::LANCE, osl::PAWN, osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), osl::NumEffectState::promotedPieces(), osl::ROOK, osl::SILVER, osl::Piece::square(), table, osl::container::PieceMask64::takeOneBit(), osl::WHITE, and y_table.

## evalOne() [2/2]

template<osl::Player Attack>

MultiInt osl::eval::ml::King25Effect3::evalOne | ( | const NumEffectState & | state,
|  | PieceMask | king25 )

static private

Referenced by eval().

## index()

int osl::eval::ml::King25Effect3::index | ( | int | piece_count,
|  | bool | with_knight,
|  | int | stand_count,
|  | bool | with_knight_on_stand,
|  | int | attacked_count )

inline static private

Definition at line 915 of file kingTable.h.

Referenced by evalOne().

## indexY()

int osl::eval::ml::King25Effect3::indexY | ( | int | piece_count,
|  | bool | with_knight,
|  | int | stand_count,
|  | bool | with_knight_on_stand,
|  | int | attacked_count,
|  | int | king_y )

inline static private

Definition at line 927 of file kingTable.h.

Referenced by evalOne().

## setUp()

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

static

Definition at line 1696 of file kingTable.cc.

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

## Friends And Related Symbol Documentation

## King25Effect3Y

friend class King25Effect3Y

friend

Definition at line 908 of file kingTable.h.

References King25Effect3Y.

Referenced by King25Effect3Y.

## Member Data Documentation

## table

osl::CArray< MultiInt, 2400 > osl::eval::ml::King25Effect3::table

static private

Definition at line 943 of file kingTable.h.

Referenced by evalOne(), and setUp().

## y_table

osl::CArray< MultiInt, 21600 > osl::eval::ml::King25Effect3::y_table

static private

Definition at line 944 of file kingTable.h.

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

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

- kingTable.h
- kingTable.cc