C# Class Queem.Core.BitBoards.Helpers.BitBoardHelper

Show file Open project: Ribtoks/Queem Class Usage Examples

Public Properties

Property Type Description
FilesMasks ulong[]
MainDiagonal ulong
MirroredBytes byte[]
MoveTypes MoveType[][][][]
NotABFile ulong
NotAFile ulong
NotGHFile ulong
NotHFile ulong
RankToFileArray ulong[]
RanksMasks ulong[]
RealPositions ulong[]
lsb_64_table int[]

Public Methods

Method Description
BitScan ( ulong bb ) : int
BitsCount ( ulong board ) : int
FileMask ( File file ) : ulong
FlipDiagonalA1H8 ( ulong board ) : ulong
FlipDiagonalA8H1 ( ulong board ) : ulong
FlipHorizontal ( ulong board ) : ulong
FlipVertical ( ulong board ) : ulong
FromString ( string s ) : ulong
GenerateMirroredByte ( byte b ) : byte
GenerateRealPositions ( ) : ulong[]
GetEmptyBoardString ( ) : string
GetFileFromRank ( byte rank ) : ulong
GetFileFromSquare ( Square sq ) : File
GetMirroredByte ( byte b ) : byte
GetOneBitNumber ( int rank, int file ) : ulong
GetRankFromAFile ( ulong A_File ) : byte
GetRankFromSquare ( Square sq ) : int
GetSquare ( int rank, int file ) : Square
RankMask ( int rank ) : ulong
Rotate90Clockwise ( ulong board ) : ulong
Rotate90CounterClockwise ( ulong board ) : ulong
RotateLeft ( ulong x, int s ) : ulong
RotateRight ( ulong x, int s ) : ulong
ShiftEastOne ( ulong b ) : ulong
ShiftNorhtWestOne ( ulong b ) : ulong
ShiftNorthEastEast ( ulong b ) : ulong
ShiftNorthEastOne ( ulong b ) : ulong
ShiftNorthNorthEast ( ulong b ) : ulong
ShiftNorthNorthWest ( ulong b ) : ulong
ShiftNorthOne ( ulong b ) : ulong
ShiftNorthWestWest ( ulong b ) : ulong
ShiftSouthEastEast ( ulong b ) : ulong
ShiftSouthEastOne ( ulong b ) : ulong
ShiftSouthOne ( ulong b ) : ulong
ShiftSouthSouthEast ( ulong b ) : ulong
ShiftSouthSouthWest ( ulong b ) : ulong
ShiftSouthWestOne ( ulong b ) : ulong
ShiftSouthWestWest ( ulong b ) : ulong
ShiftWestOne ( ulong b ) : ulong
SplitString ( string str, int chunkSize ) : IEnumerable
SwapNBits ( ulong b, int i, int j, int n ) : ulong
ToString ( ulong board, string separator ) : string

Private Methods

Method Description
BitBoardHelper ( ) : System
CreateMoveTypes ( ) : MoveType[][][][]
FillAllButPawns ( MoveType moveTypes ) : void
FillPawns ( MoveType moveTypes ) : void
GenerateMoveTypes ( ) : MoveType[][][][]
GetPawnMoveTypes ( Figure destinationFigure ) : MoveType[][]
GetSameMoveTypes ( MoveType type ) : MoveType[][]

Method Details

BitScan() public static method

public static BitScan ( ulong bb ) : int
bb ulong
return int

BitsCount() public static method

public static BitsCount ( ulong board ) : int
board ulong
return int

FileMask() public static method

public static FileMask ( File file ) : ulong
file File
return ulong

FlipDiagonalA1H8() public static method

public static FlipDiagonalA1H8 ( ulong board ) : ulong
board ulong
return ulong

FlipDiagonalA8H1() public static method

public static FlipDiagonalA8H1 ( ulong board ) : ulong
board ulong
return ulong

FlipHorizontal() public static method

public static FlipHorizontal ( ulong board ) : ulong
board ulong
return ulong

FlipVertical() public static method

public static FlipVertical ( ulong board ) : ulong
board ulong
return ulong

FromString() public static method

public static FromString ( string s ) : ulong
s string
return ulong

GenerateMirroredByte() public static method

public static GenerateMirroredByte ( byte b ) : byte
b byte
return byte

GenerateRealPositions() public static method

public static GenerateRealPositions ( ) : ulong[]
return ulong[]

GetEmptyBoardString() public static method

public static GetEmptyBoardString ( ) : string
return string

GetFileFromRank() public static method

public static GetFileFromRank ( byte rank ) : ulong
rank byte
return ulong

GetFileFromSquare() public static method

public static GetFileFromSquare ( Square sq ) : File
sq Square
return File

GetMirroredByte() public static method

public static GetMirroredByte ( byte b ) : byte
b byte
return byte

GetOneBitNumber() public static method

public static GetOneBitNumber ( int rank, int file ) : ulong
rank int
file int
return ulong

GetRankFromAFile() public static method

public static GetRankFromAFile ( ulong A_File ) : byte
A_File ulong
return byte

GetRankFromSquare() public static method

public static GetRankFromSquare ( Square sq ) : int
sq Square
return int

GetSquare() public static method

public static GetSquare ( int rank, int file ) : Square
rank int
file int
return Square

RankMask() public static method

public static RankMask ( int rank ) : ulong
rank int
return ulong

Rotate90Clockwise() public static method

public static Rotate90Clockwise ( ulong board ) : ulong
board ulong
return ulong

Rotate90CounterClockwise() public static method

public static Rotate90CounterClockwise ( ulong board ) : ulong
board ulong
return ulong

RotateLeft() public static method

public static RotateLeft ( ulong x, int s ) : ulong
x ulong
s int
return ulong

RotateRight() public static method

public static RotateRight ( ulong x, int s ) : ulong
x ulong
s int
return ulong

ShiftEastOne() public static method

public static ShiftEastOne ( ulong b ) : ulong
b ulong
return ulong

ShiftNorhtWestOne() public static method

public static ShiftNorhtWestOne ( ulong b ) : ulong
b ulong
return ulong

ShiftNorthEastEast() public static method

public static ShiftNorthEastEast ( ulong b ) : ulong
b ulong
return ulong

ShiftNorthEastOne() public static method

public static ShiftNorthEastOne ( ulong b ) : ulong
b ulong
return ulong

ShiftNorthNorthEast() public static method

public static ShiftNorthNorthEast ( ulong b ) : ulong
b ulong
return ulong

ShiftNorthNorthWest() public static method

public static ShiftNorthNorthWest ( ulong b ) : ulong
b ulong
return ulong

ShiftNorthOne() public static method

public static ShiftNorthOne ( ulong b ) : ulong
b ulong
return ulong

ShiftNorthWestWest() public static method

public static ShiftNorthWestWest ( ulong b ) : ulong
b ulong
return ulong

ShiftSouthEastEast() public static method

public static ShiftSouthEastEast ( ulong b ) : ulong
b ulong
return ulong

ShiftSouthEastOne() public static method

public static ShiftSouthEastOne ( ulong b ) : ulong
b ulong
return ulong

ShiftSouthOne() public static method

public static ShiftSouthOne ( ulong b ) : ulong
b ulong
return ulong

ShiftSouthSouthEast() public static method

public static ShiftSouthSouthEast ( ulong b ) : ulong
b ulong
return ulong

ShiftSouthSouthWest() public static method

public static ShiftSouthSouthWest ( ulong b ) : ulong
b ulong
return ulong

ShiftSouthWestOne() public static method

public static ShiftSouthWestOne ( ulong b ) : ulong
b ulong
return ulong

ShiftSouthWestWest() public static method

public static ShiftSouthWestWest ( ulong b ) : ulong
b ulong
return ulong

ShiftWestOne() public static method

public static ShiftWestOne ( ulong b ) : ulong
b ulong
return ulong

SplitString() public static method

public static SplitString ( string str, int chunkSize ) : IEnumerable
str string
chunkSize int
return IEnumerable

SwapNBits() public static method

public static SwapNBits ( ulong b, int i, int j, int n ) : ulong
b ulong
i int
j int
n int
return ulong

ToString() public static method

public static ToString ( ulong board, string separator ) : string
board ulong
separator string
return string

Property Details

FilesMasks public static property

public static ulong[] FilesMasks
return ulong[]

MainDiagonal public static property

public static ulong MainDiagonal
return ulong

MirroredBytes public static property

public static byte[] MirroredBytes
return byte[]

MoveTypes public static property

public static MoveType[][][][] MoveTypes
return MoveType[][][][]

NotABFile public static property

public static ulong NotABFile
return ulong

NotAFile public static property

public static ulong NotAFile
return ulong

NotGHFile public static property

public static ulong NotGHFile
return ulong

NotHFile public static property

public static ulong NotHFile
return ulong

RankToFileArray public static property

public static ulong[] RankToFileArray
return ulong[]

RanksMasks public static property

public static ulong[] RanksMasks
return ulong[]

RealPositions public static property

public static ulong[] RealPositions
return ulong[]

lsb_64_table public static property

public static int[] lsb_64_table
return int[]