osl::eval::ml::BishopHead Class Reference

`#include <majorPiece.h>`

## Public Types

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

## Static Public Member Functions

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

## Static Private Member Functions

static int | indexK (Player player, PtypeO ptypeO, int x_diff, int y_diff)
template<Player P>
static int | indexX (PtypeO ptypeO, int x)

## Static Private Attributes

static CArray< MultiInt, 32 > | table
static CArray< MultiInt, 4896 > | king_table
static CArray< MultiInt, 160 > | x_table

## Friends

class | BishopHeadKingRelative
class | BishopHeadX

## Detailed Description

Definition at line 426 of file majorPiece.h.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
ONE_DIM |
DIM |

Definition at line 431 of file majorPiece.h.

## Member Function Documentation

## eval()

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

static

Definition at line 706 of file majorPiece.cc.

References osl::BLACK, osl::NumEffectState::hasEffectAt(), indexK(), indexX(), osl::Piece::isOnBoardNotPromoted(), king_table, osl::SimpleState::kingSquare(), osl::Piece::owner(), osl::SimpleState::pieceAt(), osl::SimpleState::pieceOf(), osl::Piece::ptypeO(), osl::Piece::square(), osl::WHITE, osl::Square::x(), x_table, and osl::Square::y().

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

## indexK()

int osl::eval::ml::BishopHead::indexK | ( | Player | player,
|  | PtypeO | ptypeO,
|  | int | x_diff,
|  | int | y_diff )

inline static private

Definition at line 435 of file majorPiece.h.

References osl::ptypeOIndex(), and osl::WHITE.

Referenced by eval().

## indexX()

template<Player P>

int osl::eval::ml::BishopHead::indexX | ( | PtypeO | ptypeO,
|  | int | x )

inline static private

Definition at line 448 of file majorPiece.h.

References osl::altIfPiece(), osl::ptypeOIndex(), and osl::WHITE.

Referenced by eval().

## setUp()

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

static

Definition at line 664 of file majorPiece.cc.

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

## Friends And Related Symbol Documentation

## BishopHeadKingRelative

friend class BishopHeadKingRelative

friend

Definition at line 428 of file majorPiece.h.

References BishopHeadKingRelative.

Referenced by BishopHeadKingRelative.

## BishopHeadX

friend class BishopHeadX

friend

Definition at line 429 of file majorPiece.h.

References BishopHeadX.

Referenced by BishopHeadX.

## Member Data Documentation

## king_table

osl::CArray< MultiInt, 4896 > osl::eval::ml::BishopHead::king_table

static private

Definition at line 461 of file majorPiece.h.

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

## table

osl::CArray< MultiInt, 32 > osl::eval::ml::BishopHead::table

static private

Definition at line 460 of file majorPiece.h.

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

## x_table

osl::CArray< MultiInt, 160 > osl::eval::ml::BishopHead::x_table

static private

Definition at line 462 of file majorPiece.h.

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

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

- majorPiece.h
- majorPiece.cc