set-cover-0.1: Solve exact set cover problems like Sudoku, 8 Queens, Soma Cube, Tetris Cube

Safe HaskellSafe
LanguageHaskell98

Math.SetCover.Bit

Synopsis

Documentation

class Ord bits => C bits where Source #

This class is similar to the Bits class from the base package but adds keepMinimum and misses the rotation stuff.

Methods

empty :: bits Source #

keepMinimum :: bits -> bits Source #

difference :: bits -> bits -> bits Source #

xor :: bits -> bits -> bits Source #

(.&.) :: bits -> bits -> bits infixl 7 Source #

(.|.) :: bits -> bits -> bits infixl 5 Source #

Instances
C Integer Source # 
Instance details

Defined in Math.SetCover.Bit

C Word8 Source # 
Instance details

Defined in Math.SetCover.Bit

C Word16 Source # 
Instance details

Defined in Math.SetCover.Bit

C Word32 Source # 
Instance details

Defined in Math.SetCover.Bit

C Word64 Source # 
Instance details

Defined in Math.SetCover.Bit

C IntSet Source # 
Instance details

Defined in Math.SetCover.Bit

(C a, C b) => C (Sum a b) Source # 
Instance details

Defined in Math.SetCover.Bit

Methods

empty :: Sum a b Source #

keepMinimum :: Sum a b -> Sum a b Source #

difference :: Sum a b -> Sum a b -> Sum a b Source #

xor :: Sum a b -> Sum a b -> Sum a b Source #

(.&.) :: Sum a b -> Sum a b -> Sum a b Source #

(.|.) :: Sum a b -> Sum a b -> Sum a b Source #

data Sum a b Source #

Constructors

Sum !a !b 
Instances
(Eq a, Eq b) => Eq (Sum a b) Source # 
Instance details

Defined in Math.SetCover.Bit

Methods

(==) :: Sum a b -> Sum a b -> Bool #

(/=) :: Sum a b -> Sum a b -> Bool #

(Ord a, Ord b) => Ord (Sum a b) Source # 
Instance details

Defined in Math.SetCover.Bit

Methods

compare :: Sum a b -> Sum a b -> Ordering #

(<) :: Sum a b -> Sum a b -> Bool #

(<=) :: Sum a b -> Sum a b -> Bool #

(>) :: Sum a b -> Sum a b -> Bool #

(>=) :: Sum a b -> Sum a b -> Bool #

max :: Sum a b -> Sum a b -> Sum a b #

min :: Sum a b -> Sum a b -> Sum a b #

(Show a, Show b) => Show (Sum a b) Source # 
Instance details

Defined in Math.SetCover.Bit

Methods

showsPrec :: Int -> Sum a b -> ShowS #

show :: Sum a b -> String #

showList :: [Sum a b] -> ShowS #

(C a, C b) => C (Sum a b) Source # 
Instance details

Defined in Math.SetCover.Bit

Methods

empty :: Sum a b Source #

keepMinimum :: Sum a b -> Sum a b Source #

difference :: Sum a b -> Sum a b -> Sum a b Source #

xor :: Sum a b -> Sum a b -> Sum a b Source #

(.&.) :: Sum a b -> Sum a b -> Sum a b Source #

(.|.) :: Sum a b -> Sum a b -> Sum a b Source #

(Sized a, C b) => C (Sum a b) Source # 
Instance details

Defined in Math.SetCover.BitPosition

Methods

bit :: Int -> Sum a b

bitPositionPlain :: Sum a b -> Int

unpack :: Set (Sum a b) -> [Int] Source #

bitLeft :: (Bits a, C b) => Int -> Sum a b Source #

bitRight :: (C a, Bits b) => Int -> Sum a b Source #