My Project
osl::eval::ml::BishopRookFork Class Reference

#include <minorPiece.h>

Public Types

enum  { DROP_DIM = PTYPE_SIZE*PTYPE_SIZE , ONE_DIM = 2*DROP_DIM*2 , DIM = ONE_DIM * EvalStages }
 

Public Member Functions

template<osl::Player Defense>
osl::MultiIntPair evalOne (const NumEffectState &state, const PieceVector &target, std::pair< Square, int > &bishop_drop, std::pair< Square, int > &rook_drop)
 

Static Public Member Functions

static const Square isBishopForkSquare (const NumEffectState &state, Player defense, const Square a, const Square b, bool maybe_empty=false)
 
static const Square isRookForkSquare (const NumEffectState &state, Player defense, const Square a, const Square b)
 
static int bishopIndex (Ptype a, Ptype b)
 
static int rookIndex (Ptype a, Ptype b)
 
static void setUp (const Weights &weights)
 
template<Player Defense>
static MultiIntPair evalOne (const NumEffectState &state, const PieceVector &target, std::pair< Square, int > &bishop_drop, std::pair< Square, int > &rook_drop)
 
static MultiIntPair eval (const NumEffectState &state, CArray< std::pair< Square, int >, 2 > &bishop_drop, CArray< std::pair< Square, int >, 2 > &rook_drop)
 

Static Public Attributes

static CArray< MultiInt, ONE_DIMtable
 

Static Private Member Functions

static const Square findDropInLine (const NumEffectState &state, Player defense, const Square a, const Square b, Piece king)
 
static bool testCenter (const NumEffectState &state, Player defense, const Square a, const Square b, Piece king, Square center, bool maybe_empty=false)
 

Detailed Description

Definition at line 1638 of file minorPiece.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
DROP_DIM 
ONE_DIM 
DIM 

Definition at line 1641 of file minorPiece.h.

Member Function Documentation

◆ bishopIndex()

static int osl::eval::ml::BishopRookFork::bishopIndex ( Ptype a,
Ptype b )
inlinestatic

Definition at line 1647 of file minorPiece.h.

References osl::PTYPE_SIZE.

Referenced by rookIndex().

◆ eval()

◆ evalOne() [1/2]

template<osl::Player Defense>
osl::MultiIntPair osl::eval::ml::BishopRookFork::evalOne ( const NumEffectState & state,
const PieceVector & target,
std::pair< Square, int > & bishop_drop,
std::pair< Square, int > & rook_drop )

◆ evalOne() [2/2]

template<Player Defense>
static MultiIntPair osl::eval::ml::BishopRookFork::evalOne ( const NumEffectState & state,
const PieceVector & target,
std::pair< Square, int > & bishop_drop,
std::pair< Square, int > & rook_drop )
static

References eval().

◆ findDropInLine()

const osl::Square osl::eval::ml::BishopRookFork::findDropInLine ( const NumEffectState & state,
Player defense,
const Square a,
const Square b,
Piece king )
inlinestaticprivate

◆ isBishopForkSquare()

const osl::Square osl::eval::ml::BishopRookFork::isBishopForkSquare ( const NumEffectState & state,
Player defense,
const Square a,
const Square b,
bool maybe_empty = false )
static

◆ isRookForkSquare()

const osl::Square osl::eval::ml::BishopRookFork::isRookForkSquare ( const NumEffectState & state,
Player defense,
const Square a,
const Square b )
inlinestatic

◆ rookIndex()

static int osl::eval::ml::BishopRookFork::rookIndex ( Ptype a,
Ptype b )
inlinestatic

Definition at line 1648 of file minorPiece.h.

References bishopIndex(), and DROP_DIM.

◆ setUp()

void osl::eval::ml::BishopRookFork::setUp ( const Weights & weights)
static

Definition at line 2443 of file minorPiece.cc.

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

◆ testCenter()

bool osl::eval::ml::BishopRookFork::testCenter ( const NumEffectState & state,
Player defense,
const Square a,
const Square b,
Piece king,
Square center,
bool maybe_empty = false )
inlinestaticprivate

Member Data Documentation

◆ table

osl::CArray< osl::MultiInt, 256 *2 *2 > osl::eval::ml::BishopRookFork::table
static

Definition at line 1657 of file minorPiece.h.


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