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

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.

Minimal complete definition

Methods

empty :: bits Source #

complement :: bits -> bits Source #

keepMinimum :: bits -> bits Source #

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

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

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

Instances

 Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods (C a, C b) => C (Sum a b) Source # Methodsempty :: Sum a b Source #complement :: Sum a b -> Sum a b Source #keepMinimum :: 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 #

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

data Sum a b Source #

Constructors

 Sum !a !b

Instances

 (Eq b, Eq a) => Eq (Sum a b) Source # Methods(==) :: Sum a b -> Sum a b -> Bool #(/=) :: Sum a b -> Sum a b -> Bool # (Ord b, Ord a) => Ord (Sum a b) Source # Methodscompare :: 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 b, Show a) => Show (Sum a b) Source # MethodsshowsPrec :: Int -> Sum a b -> ShowS #show :: Sum a b -> String #showList :: [Sum a b] -> ShowS # (C a, C b) => C (Sum a b) Source # Methodsempty :: Sum a b Source #complement :: Sum a b -> Sum a b Source #keepMinimum :: 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 # (Integral a, C a, C b) => C (Sum a b) Source # Instantiating a with Integer will end badly because it has no fixed size! Methodsbit :: Int -> Sum a bbitPositionPlain :: Sum a b -> Intunpack :: 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 #