osl::eval::ml::KingXBlocked3 Class Reference

`#include <king8.h>`

## Public Types

enum | { ONE_DIM = 80 , DIM = ONE_DIM * EvalStages }

## Static Public Member Functions

static MultiInt | eval (const NumEffectState &state)
static void | setUp (const Weights &weights)

## Static Private Member Functions

template<int Sign>
static void | adjust (int index_y, MultiInt &result)
template<Player P>
static int | index (const Square king, bool is_l, bool u_blocked, bool opp_u_blocked, bool opp_blocked)
template<Player P>
static int | indexY (const Square king, bool is_l, bool u_blocked, bool opp_u_blocked, bool opp_blocked)

## Static Private Attributes

static CArray< MultiInt, 80 > | table
static CArray< MultiInt, 720 > | y_table

## Friends

class | KingXBlocked3Y

## Detailed Description

Definition at line 290 of file core/osl/eval/king8.h.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
ONE_DIM |
DIM |

Definition at line 294 of file core/osl/eval/king8.h.

## Member Function Documentation

## adjust()

template<int Sign>

void osl::eval::ml::KingXBlocked3::adjust | ( | int | index_y,
|  | MultiInt & | result )

inline static private

Definition at line 299 of file core/osl/eval/king8.h.

References y_table.

Referenced by eval().

## eval()

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

static

Definition at line 964 of file king8.cc.

References adjust(), osl::BLACK, osl::NumEffectState::Iking8Info(), indexY(), osl::SimpleState::kingSquare(), osl::checkmate::King8Info::liberty(), osl::DirectionTraits< Dir >::mask, and osl::WHITE.

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

## index()

template<Player P>

int osl::eval::ml::KingXBlocked3::index | ( | const Square | king,
|  | bool | is_l,
|  | bool | u_blocked,
|  | bool | opp_u_blocked,
|  | bool | opp_blocked )

inline static private

Definition at line 307 of file core/osl/eval/king8.h.

References osl::BLACK, osl::WHITE, and osl::Square::x().

## indexY()

template<Player P>

int osl::eval::ml::KingXBlocked3::indexY | ( | const Square | king,
|  | bool | is_l,
|  | bool | u_blocked,
|  | bool | opp_u_blocked,
|  | bool | opp_blocked )

inline static private

Definition at line 326 of file core/osl/eval/king8.h.

References osl::BLACK, osl::WHITE, osl::Square::x(), and osl::Square::y().

Referenced by eval().

## setUp()

void osl::eval::ml::KingXBlocked3::setUp | ( | const Weights & | weights | ) |

static

Definition at line 936 of file king8.cc.

References osl::NStages, ONE_DIM, table, and osl::eval::ml::Weights::value().

## Friends And Related Symbol Documentation

## KingXBlocked3Y

friend class KingXBlocked3Y

friend

Definition at line 292 of file core/osl/eval/king8.h.

References KingXBlocked3Y.

Referenced by KingXBlocked3Y.

## Member Data Documentation

## table

osl::CArray< MultiInt, 80 > osl::eval::ml::KingXBlocked3::table

static private

Definition at line 346 of file core/osl/eval/king8.h.

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

## y_table

osl::CArray< MultiInt, 720 > osl::eval::ml::KingXBlocked3::y_table

static private

Definition at line 347 of file core/osl/eval/king8.h.

Referenced by adjust(), and osl::eval::ml::KingXBlocked3Y::setUp().

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

- core/osl/eval/king8.h
- king8.cc