osl::eval::ml::PawnDropBoth Class Reference

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Static Public Member Functions | Private Types | Static Private Member Functions | Static Private Attributes | Friends | List of all members
osl::eval::ml::PawnDropBoth Class Reference

`#include <minorPiece.h>`

Collaboration diagram for osl::eval::ml::PawnDropBoth:
[legend]

## Static Public Member Functions
static MultiInt | value (int attack_index, int defense_index, int attack_index_y, int defense_index_y, int attack_index_x, int defense_index_x)
static MultiInt | standValue (int attack_index, int defense_index, int attack_index_y, int defense_index_y, int attack_index_x, int defense_index_x)
static MultiInt | eval (const NumEffectState &state)
template<Player P>
static MultiInt | evalWithUpdate (const NumEffectState &state, Move moved, MultiInt &last_value)

## Private Types
enum | { BOTH_ON_BOARD, SELF_ON_BOARD, OPP_ON_BOARD, BOTH_ON_STAND }

## Static Private Member Functions
template<Player Owner>
static int | indexY (const Piece king, int x)
static int | index (const Square king, int x)
template<bool Attack>
static int | indexX (const Piece king, int x)

## Static Private Attributes
static CArray< MultiInt, 9 > | attack_table
static CArray< MultiInt, 9 > | defense_table
static CArray< MultiInt, 81 > | attack_y_table
static CArray< MultiInt, 81 > | defense_y_table
static CArray< MultiInt, 90 > | x_table
static CArray< MultiInt, 18 > | stand_table
static CArray< MultiInt, 90 > | x_stand_table
static CArray< MultiInt, 162 > | y_stand_table
static CArray< MultiInt, 10 > | drop_non_drop_table
static CArray< MultiInt, 36 > | state_king_relative_table

## Friends
class | PawnDrop
class | PawnDropY
class | PawnDropX
class | PawnDropPawnStand
class | PawnDropPawnStandX
class | PawnDropPawnStandY
class | PawnDropNonDrop
class | PawnStateKingRelative

## Detailed Description

Definition at line 35 of file minorPiece.h.

## Member Enumeration Documentation

anonymous enum
| private

Enumerator
BOTH_ON_BOARD |
SELF_ON_BOARD |
OPP_ON_BOARD |
BOTH_ON_STAND |

Definition at line 46 of file minorPiece.h.

## Member Function Documentation

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

Definition at line 100 of file minorPiece.cc.

References osl::BLACK, osl::PAWN, result, and osl::WHITE.

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

template<Player P>

static MultiInt osl::eval::ml::PawnDropBoth::evalWithUpdate | ( | const NumEffectState & | state,
|  | Move | moved,
|  | MultiInt & | last_value
| ) |  |
| inlinestatic

Definition at line 103 of file minorPiece.h.

References osl::alt(), osl::BLACK, BOTH_ON_BOARD, BOTH_ON_STAND, osl::captured(), osl::Move::capturePtype(), drop_non_drop_table, eval(), index(), osl::Move::isDrop(), osl::Move::isPromotion(), osl::KING, osl::Move::oldPtype(), OPP_ON_BOARD, osl::PAWN, osl::Move::player(), osl::playerToIndex(), osl::PPAWN, osl::Move::ptype(), osl::PTYPE_EMPTY, result, SELF_ON_BOARD, standValue(), state_king_relative_table, osl::Move::to(), osl::unpromote(), value(), osl::WHITE, and osl::Square::x().

static int osl::eval::ml::PawnDropBoth::index | ( | const Square | king,
|  | int | x
| ) |  |
| inlinestaticprivate

Definition at line 63 of file minorPiece.h.

References osl::Square::x().

Referenced by evalWithUpdate().

template<bool Attack>

static int osl::eval::ml::PawnDropBoth::indexX | ( | const Piece | king,
|  | int | x
| ) |  |
| inlinestaticprivate

Definition at line 68 of file minorPiece.h.

References osl::Piece::owner(), osl::Piece::square(), osl::WHITE, and osl::Square::x().

template<Player Owner>

static int osl::eval::ml::PawnDropBoth::indexY | ( | const Piece | king,
|  | int | x
| ) |  |
| inlinestaticprivate

Definition at line 56 of file minorPiece.h.

References osl::BLACK, osl::Piece::owner(), osl::Piece::square(), osl::Square::x(), and osl::Square::y().

static MultiInt osl::eval::ml::PawnDropBoth::standValue | ( | int | attack_index,
|  | int | defense_index,
|  | int | attack_index_y,
|  | int | defense_index_y,
|  | int | attack_index_x,
|  | int | defense_index_x
| ) |  |
| inlinestatic

Definition at line 89 of file minorPiece.h.

References stand_table, x_stand_table, and y_stand_table.

Referenced by evalWithUpdate().

static MultiInt osl::eval::ml::PawnDropBoth::value | ( | int | attack_index,
|  | int | defense_index,
|  | int | attack_index_y,
|  | int | defense_index_y,
|  | int | attack_index_x,
|  | int | defense_index_x
| ) |  |
| inlinestatic

Definition at line 77 of file minorPiece.h.

References attack_table, attack_y_table, defense_table, defense_y_table, and x_table.

Referenced by evalWithUpdate().

## Friends And Related Function Documentation

friend class PawnDrop
| friend

Definition at line 37 of file minorPiece.h.

friend class PawnDropNonDrop
| friend

Definition at line 43 of file minorPiece.h.

friend class PawnDropPawnStand
| friend

Definition at line 40 of file minorPiece.h.

friend class PawnDropPawnStandX
| friend

Definition at line 41 of file minorPiece.h.

friend class PawnDropPawnStandY
| friend

Definition at line 42 of file minorPiece.h.

friend class PawnDropX
| friend

Definition at line 39 of file minorPiece.h.

friend class PawnDropY
| friend

Definition at line 38 of file minorPiece.h.

friend class PawnStateKingRelative
| friend

Definition at line 44 of file minorPiece.h.

## Member Data Documentation

osl::misc::CArray< osl::MultiInt, 9 > osl::eval::ml::PawnDropBoth::attack_table
| staticprivate

Definition at line 47 of file minorPiece.h.

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

osl::misc::CArray< osl::MultiInt, 81 > osl::eval::ml::PawnDropBoth::attack_y_table
| staticprivate

Definition at line 48 of file minorPiece.h.

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

osl::misc::CArray< osl::MultiInt, 9 > osl::eval::ml::PawnDropBoth::defense_table
| staticprivate

Definition at line 47 of file minorPiece.h.

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

osl::misc::CArray< osl::MultiInt, 81 > osl::eval::ml::PawnDropBoth::defense_y_table
| staticprivate

Definition at line 48 of file minorPiece.h.

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

osl::misc::CArray< osl::MultiInt, 10 > osl::eval::ml::PawnDropBoth::drop_non_drop_table
| staticprivate

Definition at line 53 of file minorPiece.h.

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

osl::misc::CArray< osl::MultiInt, 18 > osl::eval::ml::PawnDropBoth::stand_table
| staticprivate

Definition at line 50 of file minorPiece.h.

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

osl::misc::CArray< osl::MultiInt, 36 > osl::eval::ml::PawnDropBoth::state_king_relative_table
| staticprivate

Definition at line 54 of file minorPiece.h.

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

osl::misc::CArray< osl::MultiInt, 90 > osl::eval::ml::PawnDropBoth::x_stand_table
| staticprivate

Definition at line 51 of file minorPiece.h.

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

osl::misc::CArray< osl::MultiInt, 90 > osl::eval::ml::PawnDropBoth::x_table
| staticprivate

Definition at line 49 of file minorPiece.h.

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

osl::misc::CArray< osl::MultiInt, 162 > osl::eval::ml::PawnDropBoth::y_stand_table
| staticprivate

Definition at line 52 of file minorPiece.h.

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

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

- minorPiece.h
- minorPiece.cc