All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | 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>

Collaboration diagram for osl::eval::ml::King25EffectEachBoth:
Collaboration graph
[legend]

Public Member Functions

template<osl::Player Defense>
int effectStateIndex3 (const NumEffectState &state, Square target)
 
template<osl::Player Defense>
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>
void evalOne (const NumEffectState &state, MultiInt &out)
 

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 569 of file kingTable.h.

Member Enumeration Documentation

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 571 of file kingTable.h.

Member Function Documentation

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

Definition at line 955 of file kingTable.cc.

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

Definition at line 1050 of file kingTable.cc.

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

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

template<osl::Player Defense>
static void osl::eval::ml::King25EffectEachBoth::evalOne ( const NumEffectState &  state,
MultiInt out 
)
staticprivate
template<osl::Player Defense>
void osl::eval::ml::King25EffectEachBoth::evalOne ( const NumEffectState &  state,
MultiInt out 
)
void osl::eval::ml::King25EffectEachBoth::evalWithUpdate ( const NumEffectState &  state,
Move  last_move,
MultiIntPair values 
)
static
template<Player Defense>
static 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
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 
)

Definition at line 965 of file kingTable.cc.

References osl::BLACK, osl::Piece::ptypeO(), and target.

Friends And Related Function Documentation

friend class King25EffectEachBothEnding
friend

Definition at line 586 of file kingTable.h.

friend class King25EffectEachBothMidgame
friend

Definition at line 584 of file kingTable.h.

friend class King25EffectEachBothMidgame2
friend

Definition at line 585 of file kingTable.h.

friend class King25EffectEachBothOpening
friend

Definition at line 583 of file kingTable.h.

friend class King25EffectEachKXY
friend

Definition at line 588 of file kingTable.h.

friend class King25EffectEachXY
friend

Definition at line 587 of file kingTable.h.

Member Data Documentation

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

Definition at line 594 of file kingTable.h.

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

osl::misc::CArray< MultiInt, 5 *3 *8 *3 > osl::eval::ml::King25EffectEachBoth::table
staticprivate
osl::misc::CArray< MultiInt, 3000 > osl::eval::ml::King25EffectEachBoth::x_table
staticprivate
osl::misc::CArray< MultiInt, 27000 > osl::eval::ml::King25EffectEachBoth::xy_table
staticprivate

Definition at line 593 of file kingTable.h.

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

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

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