module BLAS.Types (
Order(..),
Trans(..),
UpLo(..),
Diag(..),
Side(..),
flipOrder,
flipTrans,
flipUpLo,
flipSide,
) where
data Order = RowMajor | ColMajor deriving (Eq, Show)
data Trans = NoTrans | ConjTrans deriving (Eq,Show)
data UpLo = Upper | Lower deriving (Eq,Show)
data Diag = Unit | NonUnit deriving (Eq,Show)
data Side = LeftSide | RightSide deriving (Eq,Show)
flipOrder :: Order -> Order
flipOrder RowMajor = ColMajor
flipOrder ColMajor = RowMajor
flipTrans :: Trans -> Trans
flipTrans NoTrans = ConjTrans
flipTrans ConjTrans = NoTrans
flipUpLo :: UpLo -> UpLo
flipUpLo Upper = Lower
flipUpLo Lower = Upper
flipSide :: Side -> Side
flipSide LeftSide = RightSide
flipSide RightSide = LeftSide