-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Helper modules for FFI to BLAS and LAPACK -- -- Netlib is a collection of packages for efficient numeric linear -- algebra. Most prominent parts of Netlib are BLAS and LAPACK. These -- packages contain functions for matrix computations, solution of -- simultaneous linear equations and eigenvalue problems. -- -- This package provides definitions shared by the packages -- blas-ffi and lapack-ffi. @package netlib-ffi @version 0.1.2 module Numeric.Netlib.Class class (Floating a, RealFloat a) => Real a switchReal :: Real a => f Float -> f Double -> f a class (Storable a, Fractional a) => Floating a switchFloating :: Floating a => f Float -> f Double -> f (Complex Float) -> f (Complex Double) -> f a instance Numeric.Netlib.Class.Real GHC.Types.Float instance Numeric.Netlib.Class.Real GHC.Types.Double instance Numeric.Netlib.Class.Real a => Numeric.Netlib.Class.Floating (Data.Complex.Complex a) instance Numeric.Netlib.Class.Floating GHC.Types.Float instance Numeric.Netlib.Class.Floating GHC.Types.Double module Numeric.Netlib.Layout data Order RowMajor :: Order ColumnMajor :: Order flipOrder :: Order -> Order instance GHC.Enum.Bounded Numeric.Netlib.Layout.Order instance GHC.Enum.Enum Numeric.Netlib.Layout.Order instance GHC.Show.Show Numeric.Netlib.Layout.Order instance GHC.Classes.Eq Numeric.Netlib.Layout.Order instance Control.DeepSeq.NFData Numeric.Netlib.Layout.Order module Numeric.Netlib.Modifier data Transposition NonTransposed :: Transposition Transposed :: Transposition transposeOrder :: Transposition -> Order -> Order data Conjugation NonConjugated :: Conjugation Conjugated :: Conjugation data Inversion NonInverted :: Inversion Inverted :: Inversion instance GHC.Enum.Bounded Numeric.Netlib.Modifier.Transposition instance GHC.Enum.Enum Numeric.Netlib.Modifier.Transposition instance GHC.Show.Show Numeric.Netlib.Modifier.Transposition instance GHC.Classes.Eq Numeric.Netlib.Modifier.Transposition instance GHC.Enum.Bounded Numeric.Netlib.Modifier.Conjugation instance GHC.Enum.Enum Numeric.Netlib.Modifier.Conjugation instance GHC.Show.Show Numeric.Netlib.Modifier.Conjugation instance GHC.Classes.Eq Numeric.Netlib.Modifier.Conjugation instance GHC.Enum.Bounded Numeric.Netlib.Modifier.Inversion instance GHC.Enum.Enum Numeric.Netlib.Modifier.Inversion instance GHC.Show.Show Numeric.Netlib.Modifier.Inversion instance GHC.Classes.Eq Numeric.Netlib.Modifier.Inversion instance GHC.Base.Semigroup Numeric.Netlib.Modifier.Inversion instance GHC.Base.Monoid Numeric.Netlib.Modifier.Inversion instance GHC.Base.Semigroup Numeric.Netlib.Modifier.Conjugation instance GHC.Base.Monoid Numeric.Netlib.Modifier.Conjugation instance GHC.Base.Semigroup Numeric.Netlib.Modifier.Transposition instance GHC.Base.Monoid Numeric.Netlib.Modifier.Transposition module Numeric.Netlib.Utility type FortranIO r = ContT r IO run :: FortranIO r (IO a) -> FortranIO r a runChecked :: String -> FortranIO r (Ptr CInt -> IO a) -> FortranIO r a check :: String -> IO CInt -> IO () assert :: String -> Bool -> IO () ignore :: String -> Int -> IO () cint :: Int -> FortranIO r (Ptr CInt) leadingDim :: Int -> FortranIO r (Ptr CInt) alloca :: Storable a => FortranIO r (Ptr a) allocaArray :: Storable a => Int -> FortranIO r (Ptr a) bool :: Bool -> FortranIO r (Ptr Bool) char :: Char -> FortranIO r (Ptr CChar) string :: String -> FortranIO r (Ptr CChar) float :: Float -> FortranIO r (Ptr Float) double :: Double -> FortranIO r (Ptr Double) complexFloat :: Complex Float -> FortranIO r (Ptr (Complex Float)) complexDouble :: Complex Double -> FortranIO r (Ptr (Complex Double)) real :: Real a => a -> FortranIO r (Ptr a) complex :: Real a => Complex a -> FortranIO r (Ptr (Complex a)) number :: Floating a => a -> FortranIO r (Ptr a)