-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Helper modules for comfort-array wrappers 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-comfort-array and lapack-comfort-array.
@package netlib-comfort-array
@version 0.0
module Numeric.Netlib.ComfortArray.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)
type ZeroInt = ZeroBased Int
newArray :: (C sh, Storable e) => sh -> IO (IOArray sh e)
newArray1 :: Storable e => Int -> IO (IOArray ZeroInt e)
newArray2 :: Storable e => Int -> Int -> IO (IOArray (ZeroInt, ZeroInt) e)
newArray3 :: Storable e => Int -> Int -> Int -> IO (IOArray (ZeroInt, ZeroInt, ZeroInt) e)
freezeArray :: (C sh, Storable e) => IOArray sh e -> IO (Array sh e)
sizes1 :: C sh0 => sh0 -> Int
sizes2 :: (C sh0, C sh1) => (sh0, sh1) -> (Int, Int)
sizes3 :: (C sh0, C sh1, C sh2) => (sh0, sh1, sh2) -> (Int, Int, Int)
shapeSize :: C sh => sh -> FortranIO r (Ptr CInt)
array :: Storable a => Array i a -> FortranIO r (Ptr a)
ioarray :: Storable a => IOArray i a -> FortranIO r (Ptr a)
(^!) :: Num a => a -> Int -> a