My Project
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>

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 32 of file minorPiece.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
BOTH_ON_BOARD 
SELF_ON_BOARD 
OPP_ON_BOARD 
BOTH_ON_STAND 

Definition at line 43 of file minorPiece.h.

Member Function Documentation

◆ eval()

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

◆ evalWithUpdate()

template<Player P>
static MultiInt osl::eval::ml::PawnDropBoth::evalWithUpdate ( const NumEffectState state,
Move  moved,
MultiInt last_value 
)
inlinestatic

◆ index()

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

Definition at line 60 of file minorPiece.h.

References osl::Square::x().

Referenced by evalWithUpdate().

◆ indexX()

template<bool Attack>
static int osl::eval::ml::PawnDropBoth::indexX ( const Piece  king,
int  x 
)
inlinestaticprivate

Definition at line 65 of file minorPiece.h.

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

◆ indexY()

template<Player Owner>
static int osl::eval::ml::PawnDropBoth::indexY ( const Piece  king,
int  x 
)
inlinestaticprivate

◆ standValue()

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 86 of file minorPiece.h.

References stand_table, x_stand_table, and y_stand_table.

Referenced by evalWithUpdate().

◆ value()

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 74 of file minorPiece.h.

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

Referenced by evalWithUpdate().

Friends And Related Symbol Documentation

◆ PawnDrop

friend class PawnDrop
friend

Definition at line 34 of file minorPiece.h.

◆ PawnDropNonDrop

friend class PawnDropNonDrop
friend

Definition at line 40 of file minorPiece.h.

◆ PawnDropPawnStand

friend class PawnDropPawnStand
friend

Definition at line 37 of file minorPiece.h.

◆ PawnDropPawnStandX

friend class PawnDropPawnStandX
friend

Definition at line 38 of file minorPiece.h.

◆ PawnDropPawnStandY

friend class PawnDropPawnStandY
friend

Definition at line 39 of file minorPiece.h.

◆ PawnDropX

friend class PawnDropX
friend

Definition at line 36 of file minorPiece.h.

◆ PawnDropY

friend class PawnDropY
friend

Definition at line 35 of file minorPiece.h.

◆ PawnStateKingRelative

friend class PawnStateKingRelative
friend

Definition at line 41 of file minorPiece.h.

Member Data Documentation

◆ attack_table

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

Definition at line 44 of file minorPiece.h.

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

◆ attack_y_table

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

Definition at line 45 of file minorPiece.h.

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

◆ defense_table

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

Definition at line 44 of file minorPiece.h.

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

◆ defense_y_table

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

Definition at line 45 of file minorPiece.h.

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

◆ drop_non_drop_table

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

Definition at line 50 of file minorPiece.h.

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

◆ stand_table

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

Definition at line 47 of file minorPiece.h.

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

◆ state_king_relative_table

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

Definition at line 51 of file minorPiece.h.

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

◆ x_stand_table

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

Definition at line 48 of file minorPiece.h.

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

◆ x_table

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

Definition at line 46 of file minorPiece.h.

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

◆ y_stand_table

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

Definition at line 49 of file minorPiece.h.

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


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