osl::eval::ml::NumPiecesBetweenBishopAndKing Class Reference

`#include <majorPiece.h>`

## Static Public Member Functions

static MultiInt | eval (const NumEffectState &state)

## Static Private Member Functions

static void | countBetween (const NumEffectState &state, Square king, Piece bishop, int &self_count, int &opp_count, int &total_count)

## Static Private Attributes

static CArray< MultiInt, 9 > | self_table
static CArray< MultiInt, 9 > | opp_table
static CArray< MultiInt, 9 > | all_table

## Friends

class | NumPiecesBetweenBishopAndKingSelf
class | NumPiecesBetweenBishopAndKingOpp
class | NumPiecesBetweenBishopAndKingAll

## Detailed Description

Definition at line 498 of file majorPiece.h.

## Member Function Documentation

## countBetween()

void osl::eval::ml::NumPiecesBetweenBishopAndKing::countBetween | ( | const NumEffectState & | state,
|  | Square | king,
|  | Piece | bishop,
|  | int & | self_count,
|  | int & | opp_count,
|  | int & | total_count )

static private

Definition at line 862 of file majorPiece.cc.

References osl::BLACK, osl::Board_Table, osl::DL, osl::DR, osl::inverse(), osl::Piece::isEmpty(), osl::Piece::isOnBoard(), osl::NumEffectState::mobilityOf(), osl::Piece::number(), osl::Piece::owner(), osl::SimpleState::pieceAt(), osl::Piece::square(), osl::UL, osl::UR, osl::Square::x(), and osl::Square::y().

Referenced by eval().

## eval()

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

static

Definition at line 833 of file majorPiece.cc.

References all_table, osl::alt(), osl::BLACK, countBetween(), osl::Piece::isOnBoard(), osl::SimpleState::kingSquare(), opp_table, osl::Piece::owner(), osl::SimpleState::pieceOf(), and self_table.

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

## Friends And Related Symbol Documentation

## NumPiecesBetweenBishopAndKingAll

friend class NumPiecesBetweenBishopAndKingAll

friend

Definition at line 502 of file majorPiece.h.

References eval(), and NumPiecesBetweenBishopAndKingAll.

Referenced by NumPiecesBetweenBishopAndKingAll.

## NumPiecesBetweenBishopAndKingOpp

friend class NumPiecesBetweenBishopAndKingOpp

friend

Definition at line 501 of file majorPiece.h.

References NumPiecesBetweenBishopAndKingOpp.

Referenced by NumPiecesBetweenBishopAndKingOpp.

## NumPiecesBetweenBishopAndKingSelf

friend class NumPiecesBetweenBishopAndKingSelf

friend

Definition at line 500 of file majorPiece.h.

References NumPiecesBetweenBishopAndKingSelf.

Referenced by NumPiecesBetweenBishopAndKingSelf.

## Member Data Documentation

## all_table

osl::CArray< MultiInt, 9 > osl::eval::ml::NumPiecesBetweenBishopAndKing::all_table

static private

Definition at line 512 of file majorPiece.h.

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

## opp_table

osl::CArray< MultiInt, 9 > osl::eval::ml::NumPiecesBetweenBishopAndKing::opp_table

static private

Definition at line 511 of file majorPiece.h.

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

## self_table

osl::CArray< MultiInt, 9 > osl::eval::ml::NumPiecesBetweenBishopAndKing::self_table

static private

Definition at line 510 of file majorPiece.h.

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

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

- majorPiece.h
- majorPiece.cc