set-cover-0.0.9: 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 #

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

Minimal complete definition

empty, complement, keepMinimum, xor, (.&.), (.|.)

Methods

empty :: bits #

complement :: bits -> bits #

keepMinimum :: bits -> bits #

xor :: bits -> bits -> bits #

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

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

Instances
C Integer # 
Instance details

Defined in Math.SetCover.Bit

C Word8 # 
Instance details

Defined in Math.SetCover.Bit

C Word16 # 
Instance details

Defined in Math.SetCover.Bit

C Word32 # 
Instance details

Defined in Math.SetCover.Bit

C Word64 # 
Instance details

Defined in Math.SetCover.Bit

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

Defined in Math.SetCover.Bit

Methods

empty :: Sum a b #

complement :: Sum a b -> Sum a b #

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

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

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

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

difference :: C bits => bits -> bits -> bits #

data Sum a b #

Constructors

Sum !a !b 
Instances
(Eq a, Eq b) => Eq (Sum a b) # 
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) # 
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) # 
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) # 
Instance details

Defined in Math.SetCover.Bit

Methods

empty :: Sum a b #

complement :: Sum a b -> Sum a b #

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

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

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

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

(Integral a, C a, C b) => C (Sum a b) #

Instantiating a with Integer will end badly because it has no fixed size!

Instance details

Defined in Math.SetCover.BitPosition

Methods

bit :: Int -> Sum a b

bitPositionPlain :: Sum a b -> Int

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

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

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