osl::eval::ml::GoldFeatures Class Reference

`#include <minorPiece.h>`

Inheritance diagram for osl::eval::ml::GoldFeatures:

## Static Public Member Functions

static MultiInt | eval (const NumEffectState &state)

## Static Protected Member Functions

template<Player P>
static int | indexRetreat (Square pos)
static int | indexSideX (Square pos)
template<Player P>
static int | indexSideY (Square pos)
template<Player P>
static bool | canRetreat (const NumEffectState &state, const Piece gold)
template<Player P>
static bool | canMoveToSide (const NumEffectState &state, const Piece gold)
template<Player P>
static MultiInt | evalOne (const NumEffectState &state, const Piece gold, const CArray< Square, 2 > &kings)

## Static Protected Attributes

static CArray< MultiInt, 153 > | knight_table
static CArray< MultiInt, 9 > | retreat_table
static CArray< MultiInt, 14 > | side_table

## Detailed Description

Definition at line 599 of file minorPiece.h.

## Member Function Documentation

## canMoveToSide()

template<Player P>

bool osl::eval::ml::GoldFeatures::canMoveToSide | ( | const NumEffectState & | state,
|  | const Piece | gold )

inline static protected

Definition at line 622 of file minorPiece.h.

References osl::alt(), osl::NumEffectState::hasEffectAt(), osl::Square::isOnBoard(), osl::Piece::isOnBoardByOwner(), osl::Piece::owner(), osl::SimpleState::pieceAt(), and osl::Piece::square().

Referenced by evalOne().

## canRetreat()

template<osl::Player P>

bool osl::eval::ml::GoldFeatures::canRetreat | ( | const NumEffectState & | state,
|  | const Piece | gold )

inline static protected

Definition at line 422 of file minorPiece.cc.

References osl::alt(), osl::BLACK, osl::NumEffectState::hasEffectAt(), osl::Piece::isOnBoard(), osl::Piece::isOnBoardByOwner(), osl::Piece::owner(), osl::SimpleState::pieceAt(), osl::Piece::square(), osl::WHITE, and osl::Square::y().

Referenced by evalOne().

## eval()

osl::MultiInt osl::eval::ml::GoldFeatures::eval | ( | const NumEffectState & | state | ) |

static

Definition at line 396 of file minorPiece.cc.

References osl::BLACK, evalOne(), osl::Piece::isOnBoard(), osl::SimpleState::kingSquare(), osl::Piece::owner(), osl::SimpleState::pieceOf(), and osl::WHITE.

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

## evalOne()

template<Player P>

MultiInt osl::eval::ml::GoldFeatures::evalOne | ( | const NumEffectState & | state,
|  | const Piece | gold,
|  | const CArray< Square, 2 > & | kings )

inline static protected

Definition at line 640 of file minorPiece.h.

References osl::BLACK, canMoveToSide(), canRetreat(), osl::NumEffectState::hasEffectAt(), indexRetreat(), indexSideX(), indexSideY(), osl::Piece::isEmpty(), osl::SimpleState::kingSquare(), knight_table, osl::Square::neighbor(), osl::Piece::owner(), osl::SimpleState::pieceAt(), retreat_table, side_table, osl::Piece::square(), osl::UUL, osl::UUR, osl::Square::x(), and osl::Square::y().

Referenced by eval().

## indexRetreat()

template<Player P>

int osl::eval::ml::GoldFeatures::indexRetreat | ( | Square | pos | ) |

inline static protected

Definition at line 605 of file minorPiece.h.

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

Referenced by evalOne().

## indexSideX()

int osl::eval::ml::GoldFeatures::indexSideX | ( | Square | pos | ) |

inline static protected

Definition at line 609 of file minorPiece.h.

References osl::Square::x().

Referenced by evalOne().

## indexSideY()

template<Player P>

int osl::eval::ml::GoldFeatures::indexSideY | ( | Square | pos | ) |

inline static protected

Definition at line 614 of file minorPiece.h.

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

Referenced by evalOne().

## Member Data Documentation

## knight_table

osl::CArray< osl::MultiInt, 153 > osl::eval::ml::GoldFeatures::knight_table

static protected

Definition at line 670 of file minorPiece.h.

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

## retreat_table

osl::CArray< osl::MultiInt, 9 > osl::eval::ml::GoldFeatures::retreat_table

static protected

Definition at line 671 of file minorPiece.h.

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

## side_table

osl::CArray< osl::MultiInt, 14 > osl::eval::ml::GoldFeatures::side_table

static protected

Definition at line 672 of file minorPiece.h.

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

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

- minorPiece.h
- minorPiece.cc