chessIO-0.5.0.0: Basic chess library
Safe HaskellNone
LanguageHaskell2010

Game.Chess.QuadBitboard

Synopsis

The QuadBitboard data type

data QuadBitboard Source #

Constructors

QBB 

Fields

Instances

Instances details
Eq QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Show QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

IsString QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Semigroup QuadBitboard Source #

bitwise XOR

Instance details

Defined in Game.Chess.QuadBitboard

Monoid QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Storable QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Binary QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Unbox QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Vector Vector QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

MVector MVector QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

newtype Vector QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

newtype MVector s QuadBitboard Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Square codes

newtype Word4 Source #

Constructors

W4 Word8 

Instances

Instances details
Bounded Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Enum Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Eq Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Methods

(==) :: Word4 -> Word4 -> Bool #

(/=) :: Word4 -> Word4 -> Bool #

Integral Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Num Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Ord Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Methods

compare :: Word4 -> Word4 -> Ordering #

(<) :: Word4 -> Word4 -> Bool #

(<=) :: Word4 -> Word4 -> Bool #

(>) :: Word4 -> Word4 -> Bool #

(>=) :: Word4 -> Word4 -> Bool #

max :: Word4 -> Word4 -> Word4 #

min :: Word4 -> Word4 -> Word4 #

Read Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Real Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Methods

toRational :: Word4 -> Rational #

Show Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Methods

showsPrec :: Int -> Word4 -> ShowS #

show :: Word4 -> String #

showList :: [Word4] -> ShowS #

Ix Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

Bits Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

FiniteBits Word4 Source # 
Instance details

Defined in Game.Chess.QuadBitboard

pattern NoPiece :: Word4 Source #

pattern WhitePawn :: Word4 Source #

pattern WhiteRook :: Word4 Source #

pattern WhiteKing :: Word4 Source #

pattern BlackPawn :: Word4 Source #

pattern BlackRook :: Word4 Source #

pattern BlackKing :: Word4 Source #

Construction

square :: Int -> Word4 -> QuadBitboard Source #

law: square i x ! i = x where inRange (0,63) i && inRange (0,15) x

Access

setNibble :: Bits nibble => QuadBitboard -> Int -> nibble -> QuadBitboard Source #

Transformations

Normal moves

move :: QuadBitboard -> Int -> Int -> QuadBitboard Source #

Move a nibble. Note that this function, while convenient, isn't very fast as it needs to lookup the source nibble value.

Castling

En passant

Promotion