My Project
Static Public Member Functions | Private Types | Static Private Member Functions | Static Private Attributes | Friends | List of all members
osl::eval::ml::King25EffectEachBoth Class Reference

#include <kingTable.h>

Static Public Member Functions

static void eval (const NumEffectState &state, MultiIntPair &out)
 
static void evalWithUpdate (const NumEffectState &state, Move last_move, MultiIntPair &values)
 

Private Types

enum  EffectState {
  NO_ATTACK_DEFENSE_0 , NO_ATTACK_DEFENSE_1 , NO_ATTACK_DEFENSE_2 , ATTACK_DIFF_N2 ,
  ATTACK_DIFF_N1 , ATTACK_DIFF_0 , ATTACK_DIFF_1 , ATTACK_DIFF_2 ,
  STATE_MAX
}
 

Static Private Member Functions

template<Player Defense>
static int effectStateIndex3 (const NumEffectState &state, Square target)
 
template<Player Defense>
static void index (const NumEffectState &state, Square target, int &index_xy, int rel_y, int king_x, int king_y, int x_diff)
 
template<osl::Player Defense>
static void evalOne (const NumEffectState &state, MultiInt &out)
 

Static Private Attributes

static CArray< MultiInt, 5 *3 *8 *3 > table
 
static CArray< MultiInt, 3000 > x_table
 
static CArray< MultiInt, 3240 > y_table
 
static CArray< MultiInt, 27000 > xy_table
 
static CArray< int, 256 > effect_state_table
 

Friends

class King25EffectEachBothOpening
 
class King25EffectEachBothMidgame
 
class King25EffectEachBothMidgame2
 
class King25EffectEachBothEnding
 
class King25EffectEachXY
 
class King25EffectEachKXY
 

Detailed Description

Definition at line 565 of file kingTable.h.

Member Enumeration Documentation

◆ EffectState

Enumerator
NO_ATTACK_DEFENSE_0 
NO_ATTACK_DEFENSE_1 
NO_ATTACK_DEFENSE_2 
ATTACK_DIFF_N2 
ATTACK_DIFF_N1 
ATTACK_DIFF_0 
ATTACK_DIFF_1 
ATTACK_DIFF_2 
STATE_MAX 

Definition at line 567 of file kingTable.h.

Member Function Documentation

◆ effectStateIndex3()

template<osl::Player Defense>
int osl::eval::ml::King25EffectEachBoth::effectStateIndex3 ( const NumEffectState state,
Square  target 
)
staticprivate

◆ eval()

void osl::eval::ml::King25EffectEachBoth::eval ( const NumEffectState state,
MultiIntPair out 
)
static

Definition at line 1049 of file kingTable.cc.

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

Referenced by osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval().

◆ evalOne()

template<osl::Player Defense>
void osl::eval::ml::King25EffectEachBoth::evalOne ( const NumEffectState state,
MultiInt out 
)
staticprivate

◆ evalWithUpdate()

void osl::eval::ml::King25EffectEachBoth::evalWithUpdate ( const NumEffectState state,
Move  last_move,
MultiIntPair values 
)
static

◆ index()

template<osl::Player Defense>
void osl::eval::ml::King25EffectEachBoth::index ( const NumEffectState state,
Square  target,
int &  index_xy,
int  rel_y,
int  king_x,
int  king_y,
int  x_diff 
)
staticprivate

Definition at line 965 of file kingTable.cc.

References osl::BLACK, osl::SimpleState::pieceAt(), and osl::Piece::ptypeO().

Friends And Related Symbol Documentation

◆ King25EffectEachBothEnding

friend class King25EffectEachBothEnding
friend

Definition at line 582 of file kingTable.h.

◆ King25EffectEachBothMidgame

friend class King25EffectEachBothMidgame
friend

Definition at line 580 of file kingTable.h.

◆ King25EffectEachBothMidgame2

friend class King25EffectEachBothMidgame2
friend

Definition at line 581 of file kingTable.h.

◆ King25EffectEachBothOpening

friend class King25EffectEachBothOpening
friend

Definition at line 579 of file kingTable.h.

◆ King25EffectEachKXY

friend class King25EffectEachKXY
friend

Definition at line 584 of file kingTable.h.

◆ King25EffectEachXY

friend class King25EffectEachXY
friend

Definition at line 583 of file kingTable.h.

Member Data Documentation

◆ effect_state_table

osl::CArray< int, 256 > osl::eval::ml::King25EffectEachBoth::effect_state_table
staticprivate

Definition at line 590 of file kingTable.h.

Referenced by osl::eval::ml::King25EffectEachXY::setUp().

◆ table

osl::CArray< MultiInt, 5 *3 *8 *3 > osl::eval::ml::King25EffectEachBoth::table
staticprivate

◆ x_table

osl::CArray< MultiInt, 3000 > osl::eval::ml::King25EffectEachBoth::x_table
staticprivate

◆ xy_table

osl::CArray< MultiInt, 27000 > osl::eval::ml::King25EffectEachBoth::xy_table
staticprivate

Definition at line 589 of file kingTable.h.

Referenced by osl::eval::ml::King25EffectEachKXY::setUp().

◆ y_table

osl::CArray< MultiInt, 3240 > osl::eval::ml::King25EffectEachBoth::y_table
staticprivate

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