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

Safe HaskellSafe
LanguageHaskell98

Math.SetCover.Cuboid

Synopsis

Documentation

data Coords a Source #

Constructors

Coords a a a 
Instances
Functor Coords Source # 
Instance details

Defined in Math.SetCover.Cuboid

Methods

fmap :: (a -> b) -> Coords a -> Coords b #

(<$) :: a -> Coords b -> Coords a #

Applicative Coords Source # 
Instance details

Defined in Math.SetCover.Cuboid

Methods

pure :: a -> Coords a #

(<*>) :: Coords (a -> b) -> Coords a -> Coords b #

liftA2 :: (a -> b -> c) -> Coords a -> Coords b -> Coords c #

(*>) :: Coords a -> Coords b -> Coords b #

(<*) :: Coords a -> Coords b -> Coords a #

Foldable Coords Source # 
Instance details

Defined in Math.SetCover.Cuboid

Methods

fold :: Monoid m => Coords m -> m #

foldMap :: Monoid m => (a -> m) -> Coords a -> m #

foldr :: (a -> b -> b) -> b -> Coords a -> b #

foldr' :: (a -> b -> b) -> b -> Coords a -> b #

foldl :: (b -> a -> b) -> b -> Coords a -> b #

foldl' :: (b -> a -> b) -> b -> Coords a -> b #

foldr1 :: (a -> a -> a) -> Coords a -> a #

foldl1 :: (a -> a -> a) -> Coords a -> a #

toList :: Coords a -> [a] #

null :: Coords a -> Bool #

length :: Coords a -> Int #

elem :: Eq a => a -> Coords a -> Bool #

maximum :: Ord a => Coords a -> a #

minimum :: Ord a => Coords a -> a #

sum :: Num a => Coords a -> a #

product :: Num a => Coords a -> a #

Traversable Coords Source # 
Instance details

Defined in Math.SetCover.Cuboid

Methods

traverse :: Applicative f => (a -> f b) -> Coords a -> f (Coords b) #

sequenceA :: Applicative f => Coords (f a) -> f (Coords a) #

mapM :: Monad m => (a -> m b) -> Coords a -> m (Coords b) #

sequence :: Monad m => Coords (m a) -> m (Coords a) #

Eq a => Eq (Coords a) Source # 
Instance details

Defined in Math.SetCover.Cuboid

Methods

(==) :: Coords a -> Coords a -> Bool #

(/=) :: Coords a -> Coords a -> Bool #

Ord a => Ord (Coords a) Source # 
Instance details

Defined in Math.SetCover.Cuboid

Methods

compare :: Coords a -> Coords a -> Ordering #

(<) :: Coords a -> Coords a -> Bool #

(<=) :: Coords a -> Coords a -> Bool #

(>) :: Coords a -> Coords a -> Bool #

(>=) :: Coords a -> Coords a -> Bool #

max :: Coords a -> Coords a -> Coords a #

min :: Coords a -> Coords a -> Coords a #

Show a => Show (Coords a) Source # 
Instance details

Defined in Math.SetCover.Cuboid

Methods

showsPrec :: Int -> Coords a -> ShowS #

show :: Coords a -> String #

showList :: [Coords a] -> ShowS #

forNestedCoords :: (Enum a, Num a) => ([z] -> b) -> ([y] -> z) -> ([x] -> y) -> (Coords a -> x) -> Coords a -> b Source #

rotX :: Num a => Coords a -> Coords a Source #

rotY :: Num a => Coords a -> Coords a Source #

rotZ :: Num a => Coords a -> Coords a Source #

rotations :: Num a => [Coords a -> Coords a] Source #

rotationsGen :: Num a => Coords (Coords a -> Coords a) -> [Coords a -> Coords a] Source #

normalForm :: (Ord a, Num a) => [Coords a] -> [Coords a] Source #

size :: [Coords Int] -> Coords Int Source #

Object must be in normalForm.

allOrientations :: (Num a, Ord a) => [Coords a] -> [[Coords a]] Source #

allOrientationsGen :: (Num a, Ord a) => Coords (Coords a -> Coords a) -> [Coords a] -> [[Coords a]] Source #