module Numeric.LAPACK.Matrix.Extent.Kind where
data General height width =
General {
generalHeight :: height,
generalWidth :: width
} deriving (Eq, Show)
data Tall height width =
Tall {
tallHeight :: height,
tallWidth :: width
} deriving (Eq, Show)
data Wide height width =
Wide {
wideHeight :: height,
wideWidth :: width
} deriving (Eq, Show)
data Square height width =
(height ~ width) =>
Square {
squareSize :: height
}
instance (Eq height, Eq width) => Eq (Square height width) where
Square a == Square b = a==b
instance (Show height, Show width) => Show (Square height width) where
showsPrec p (Square s) =
showParen (p>10) (showString "Square " . showsPrec 11 s)