-- 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 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.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) 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)