osl::eval::ml::PinPtypeAll Class Reference

`#include <pin.h>`

Inheritance diagram for osl::eval::ml::PinPtypeAll:

## Public Member Functions

template<osl::Player Defense>
osl::MultiInt | evalOne (const NumEffectState &state)

## Static Public Member Functions

static MultiInt | eval (const NumEffectState &state)

## Static Protected Attributes

static CArray< MultiInt, 80 > | table
static CArray< MultiInt, 48 > | pawn_table
static CArray< MultiInt, 560 > | distance_table

## Static Private Member Functions

template<Player Defense>
static MultiInt | evalOne (const NumEffectState &state)
template<Player Defense>
static bool | pawnAttack (const NumEffectState &state, Piece piece)

## Detailed Description

Definition at line 45 of file pin.h.

## Member Function Documentation

## eval()

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

static

Definition at line 185 of file eval_pin.cc.

References evalOne().

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

## evalOne() [1/2]

template<osl::Player Defense>

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

Definition at line 115 of file eval_pin.cc.

References osl::alt(), osl::BLACK, distance_table, osl::NumEffectState::hasEffectAt(), osl::NumEffectState::hasEffectByPtypeStrict(), osl::SimpleState::kingSquare(), osl::LANCE, pawn_table, pawnAttack(), osl::SimpleState::pieceOf(), osl::NumEffectState::pin(), osl::Piece::ptype(), osl::PTYPE_SIZE, osl::Piece::square(), table, osl::WHITE, osl::Square::x(), and osl::Square::y().

## evalOne() [2/2]

template<Player Defense>

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

static private

Referenced by eval().

## pawnAttack()

template<Player Defense>

bool osl::eval::ml::PinPtypeAll::pawnAttack | ( | const NumEffectState & | state,
|  | Piece | piece )

inline static private

Definition at line 53 of file pin.h.

References osl::alt(), osl::NumEffectState::hasEffectByPtypeStrict(), osl::Piece::isEmpty(), osl::Square::isOnBoard(), osl::SimpleState::isPawnMaskSet(), osl::PAWN, osl::SimpleState::pieceAt(), osl::Piece::square(), and osl::Square::x().

Referenced by evalOne().

## Member Data Documentation

## distance_table

osl::CArray< MultiInt, 560 > osl::eval::ml::PinPtypeAll::distance_table

static protected

Definition at line 66 of file pin.h.

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

## pawn_table

osl::CArray< MultiInt, 48 > osl::eval::ml::PinPtypeAll::pawn_table

static protected

Definition at line 65 of file pin.h.

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

## table

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

static protected

Definition at line 64 of file pin.h.

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

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

- pin.h
- eval_pin.cc