osl::eval::ml::BishopExchangeSilverKing Class Reference

`#include <kingTable.h>`

## Public Types

enum | { BISHOP_ONE_DIM = 18 * 81 * (45*2) , DIM = BISHOP_ONE_DIM*3 }

## Static Public Member Functions

static void | setUp (const Weights &weights)
static int | eval (const NumEffectState &state)

## Static Private Member Functions

static int | indexKing (Square king)
static int | indexRook (Square rook)
static int | indexSilver (Square silver)
template<Player KingOwner>
static int | evalOne (const NumEffectState &state, int offset)

## Static Private Attributes

static CArray< int, DIM > | table

## Detailed Description

Definition at line 975 of file kingTable.h.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
BISHOP_ONE_DIM |
DIM |

Definition at line 997 of file kingTable.h.

## Member Function Documentation

## eval()

int osl::eval::ml::BishopExchangeSilverKing::eval | ( | const NumEffectState & | state | ) |

static

Definition at line 1917 of file kingTable.cc.

References osl::PieceMask::any(), osl::BISHOP, BISHOP_ONE_DIM, osl::BLACK, osl::PieceMask::clearBit(), evalOne(), osl::NumEffectState::hasEffectByPiece(), osl::SimpleState::nth(), osl::PAWN, osl::NumEffectState::promotedPieces(), osl::SimpleState::standMask(), and osl::WHITE.

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

## evalOne()

template<osl::Player KingOwner>

int osl::eval::ml::BishopExchangeSilverKing::evalOne | ( | const NumEffectState & | state,
|  | int | offset )

static private

Definition at line 1942 of file kingTable.cc.

References osl::alt(), indexKing(), indexSilver(), osl::Piece::isOnBoard(), osl::SimpleState::kingSquare(), osl::SimpleState::nth(), osl::SimpleState::nthLimit(), osl::Piece::owner(), osl::FixedCapacityVector< T, Capacity >::push_back(), osl::ROOK, osl::sign(), osl::SILVER, osl::FixedCapacityVector< T, Capacity >::size(), osl::Piece::square(), osl::Square::squareForBlack(), and table.

Referenced by eval().

## indexKing()

int osl::eval::ml::BishopExchangeSilverKing::indexKing | ( | Square | king | ) |

inline static private

Definition at line 977 of file kingTable.h.

References osl::Square::x(), and osl::Square::y().

Referenced by evalOne().

## indexRook()

int osl::eval::ml::BishopExchangeSilverKing::indexRook | ( | Square | rook | ) |

inline static private

Definition at line 984 of file kingTable.h.

References osl::Square::isOnBoard(), osl::Square::x(), and osl::Square::y().

## indexSilver()

int osl::eval::ml::BishopExchangeSilverKing::indexSilver | ( | Square | silver | ) |

inline static private

Definition at line 992 of file kingTable.h.

References osl::Square::x(), and osl::Square::y().

Referenced by evalOne().

## setUp()

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

static

Definition at line 1910 of file kingTable.cc.

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

## Member Data Documentation

## table

osl::CArray< int, 18 *81 *(45 *2) *3 > osl::eval::ml::BishopExchangeSilverKing::table

static private

Definition at line 1003 of file kingTable.h.

Referenced by evalOne(), and setUp().

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

- kingTable.h
- kingTable.cc