chessIO-0.3.1.2: Basic chess library

Safe HaskellNone
LanguageHaskell2010

Game.Chess.QuadBitboard

Contents

Synopsis

The QuadBitboard data type

Square codes

newtype Word4 Source #

Constructors

W4 Word8 
Instances
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 :: Bits nibble => Int -> nibble -> 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