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

enum osl::eval::ml::King25EffectEachBoth::EffectState

private

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 )

static private

Definition at line 955 of file kingTable.cc.

References osl::alt(), effect_state_table, and osl::NumEffectState::effectSetAt().

Referenced by index().

## eval()

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

static

Definition at line 1049 of file kingTable.cc.

References osl::BLACK, evalOne(), 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 )

static private

Definition at line 993 of file kingTable.cc.

References osl::BLACK, osl::container::QuadInt::clear(), index(), osl::SimpleState::kingSquare(), osl::WHITE, osl::Square::x(), xy_table, and osl::Square::y().

Referenced by eval(), and evalWithUpdate().

## evalWithUpdate()

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

static

Definition at line 1058 of file kingTable.cc.

References osl::container::BoardMask::anyInRange(), osl::BLACK, osl::Board_Mask_Table5x5, osl::NumEffectState::changedEffects(), evalOne(), osl::Move::from(), osl::SimpleState::kingSquare(), osl::container::BoardMask::set(), osl::Move::to(), and osl::WHITE.

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

## 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 )

static private

Definition at line 965 of file kingTable.cc.

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

Referenced by evalOne().

## Friends And Related Symbol Documentation

## King25EffectEachBothEnding

friend class King25EffectEachBothEnding

friend

Definition at line 582 of file kingTable.h.

References King25EffectEachBothEnding.

Referenced by King25EffectEachBothEnding.

## King25EffectEachBothMidgame

friend class King25EffectEachBothMidgame

friend

Definition at line 580 of file kingTable.h.

References King25EffectEachBothMidgame.

Referenced by King25EffectEachBothMidgame.

## King25EffectEachBothMidgame2

friend class King25EffectEachBothMidgame2

friend

Definition at line 581 of file kingTable.h.

References King25EffectEachBothMidgame2.

Referenced by King25EffectEachBothMidgame2.

## King25EffectEachBothOpening

friend class King25EffectEachBothOpening

friend

Definition at line 579 of file kingTable.h.

References King25EffectEachBothOpening.

Referenced by King25EffectEachBothOpening.

## King25EffectEachKXY

friend class King25EffectEachKXY

friend

Definition at line 584 of file kingTable.h.

References King25EffectEachKXY.

Referenced by King25EffectEachKXY.

## King25EffectEachXY

friend class King25EffectEachXY

friend

Definition at line 583 of file kingTable.h.

References King25EffectEachXY.

Referenced by King25EffectEachXY.

## Member Data Documentation

## effect_state_table

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

static private

Definition at line 590 of file kingTable.h.

Referenced by effectStateIndex3(), and osl::eval::ml::King25EffectEachXY::setUp().

## table

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

static private

Definition at line 586 of file kingTable.h.

Referenced by osl::eval::ml::King25EffectEachBothEnding::setUp(), osl::eval::ml::King25EffectEachBothMidgame2::setUp(), osl::eval::ml::King25EffectEachBothMidgame::setUp(), osl::eval::ml::King25EffectEachBothOpening::setUp(), and osl::eval::ml::King25EffectEachXY::setUp().

## x_table

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

static private

Definition at line 587 of file kingTable.h.

Referenced by osl::eval::ml::King25EffectEachKXY::setUp(), and osl::eval::ml::King25EffectEachXY::setUp().

## xy_table

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

static private

Definition at line 589 of file kingTable.h.

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

## y_table

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

static private

Definition at line 588 of file kingTable.h.

Referenced by osl::eval::ml::King25EffectEachKXY::setUp(), and osl::eval::ml::King25EffectEachXY::setUp().

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

- kingTable.h
- kingTable.cc