osl::eval::ml::KingXBothBlocked Class Reference

`#include <king8.h>`

## Public Types

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

## Static Public Member Functions

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

## Static Private Member Functions

static int | index (const Square king)
template<Player P>
static int | indexY (const Square king)
template<int Sign>
static void | adjust (int index, int index_y, MultiInt &out)

## Static Private Attributes

static CArray< MultiInt, ONE_DIM > | table

## Friends

class | KingXBlockedYBase

## Detailed Description

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

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
ONE_DIM |
DIM |

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

## Member Function Documentation

## adjust()

template<int Sign>

void osl::eval::ml::KingXBothBlocked::adjust | ( | int | index,
|  | int | index_y,
|  | MultiInt & | out )

inline static private

Definition at line 624 of file king8.cc.

References index(), table, and osl::eval::ml::KingXBothBlockedY::table.

Referenced by eval(), and osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang().

## eval()

MultiIntPair osl::eval::ml::KingXBothBlocked::eval | ( | const NumEffectState & | state | ) |

static

Definition at line 633 of file king8.cc.

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

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

## index()

int osl::eval::ml::KingXBothBlocked::index | ( | const Square | king | ) |

inline static private

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

References osl::Square::x().

Referenced by adjust(), eval(), and osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang().

## indexY()

template<Player P>

int osl::eval::ml::KingXBothBlocked::indexY | ( | const Square | king | ) |

inline static private

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

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

Referenced by eval(), and osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang().

## setUp()

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

static

Definition at line 602 of file king8.cc.

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

## Friends And Related Symbol Documentation

## KingXBlockedYBase

friend class KingXBlockedYBase

friend

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

References KingXBlockedYBase.

Referenced by KingXBlockedYBase.

## Member Data Documentation

## table

osl::CArray< MultiInt, osl::eval::ml::KingXBothBlocked::ONE_DIM > osl::eval::ml::KingXBothBlocked::table

static private

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

Referenced by adjust(), and setUp().

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

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