{-# LANGUAGE TypeFamilies #-} module Numeric.LAPACK.Shape.Private where import qualified Data.Array.Comfort.Shape as Shape newtype Unchecked sh = Unchecked {Unchecked sh -> sh deconsUnchecked :: sh} deriving (Int -> Unchecked sh -> ShowS [Unchecked sh] -> ShowS Unchecked sh -> String (Int -> Unchecked sh -> ShowS) -> (Unchecked sh -> String) -> ([Unchecked sh] -> ShowS) -> Show (Unchecked sh) forall sh. Show sh => Int -> Unchecked sh -> ShowS forall sh. Show sh => [Unchecked sh] -> ShowS forall sh. Show sh => Unchecked sh -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Unchecked sh] -> ShowS $cshowList :: forall sh. Show sh => [Unchecked sh] -> ShowS show :: Unchecked sh -> String $cshow :: forall sh. Show sh => Unchecked sh -> String showsPrec :: Int -> Unchecked sh -> ShowS $cshowsPrec :: forall sh. Show sh => Int -> Unchecked sh -> ShowS Show) instance Eq (Unchecked sh) where Unchecked sh _ == :: Unchecked sh -> Unchecked sh -> Bool == Unchecked sh _ = Bool True instance (Shape.C sh) => Shape.C (Unchecked sh) where size :: Unchecked sh -> Int size (Unchecked sh sh) = sh -> Int forall sh. C sh => sh -> Int Shape.size sh sh uncheckedSize :: Unchecked sh -> Int uncheckedSize (Unchecked sh sh) = sh -> Int forall sh. C sh => sh -> Int Shape.uncheckedSize sh sh