Name:             lapack-comfort-array
Version:          0.0
License:          BSD3
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
Homepage:         http://hub.darcs.net/thielema/lapack-comfort-array/
Category:         Math
Synopsis:         Auto-generated interface to Fortran LAPACK via comfort-array
Description:
  LAPACK is a package for efficient numerically robust linear algebra.
  The original implementation is written in FORTRAN.
  This is a semi-automatically generated mid-level wrapper.
  The functions are not ready to use for high-level applications,
  but they are a step closer.
  .
  The functions are all in IO monad because they are auto-generated and
  we cannot make sure automatically that unsafePerformIO is always safe.
  Instead of raw pointers we use Arrays and Mutable.Arrays
  and assign and check array bounds to LAPACK function parameters,
  as far we can retrieve this information from the FORTRAN comments.
  We check consistency of dimensions where consistent dimensions are required,
  but we cannot do all kind of bound checks.
  We use immutable Array for input and output parameters
  and mutable Mutable.Array for input/output parameters.
  LAPACK plays some nasty tricks of in-place array updates
  on input/output arrays
  even if the dimensions of input and output array differ (see e.g. GELS).
  The wrappers also manage allocation of memory for function parameters.
  This is necessary since FORTRAN passes all parameters by reference.
  Further on, the wrappers convert from Haskell values like @Int@
  to low-level values like @CInt@.
  .
  We provide bindings to functions of all variants
  for @Float@, @Double@, @Complex Float@ and @Complex Double@.
  We do not use TemplateHaskell nor HSC nor CHS, but instead Haskell 98 code
  generated by the custom @lapack-ffi-tools@ package.
Tested-With:      GHC==7.4.2, GHC==7.8.4
Cabal-Version:    1.14
Build-Type:       Simple

Source-Repository this
  Tag:         0.0
  Type:        darcs
  Location:    http://hub.darcs.net/thielema/lapack-comfort-array/

Source-Repository head
  Type:        darcs
  Location:    http://hub.darcs.net/thielema/lapack-comfort-array/

Library
  Build-Depends:
    lapack-ffi >=0.0 && <0.1,
    netlib-comfort-array >=0.0 && <0.1,
    netlib-ffi >=0.0 && <0.2,
    comfort-array >=0.3 && <0.4,
    storable-complex >=0.2.2 && <0.3,
    transformers >=0.4 && <0.6,
    base >=4.5 && <5

  GHC-Options:      -Wall -fwarn-missing-import-lists
  Hs-Source-Dirs:   src
  Default-Language: Haskell98
  Exposed-Modules:
    Numeric.LAPACK.ComfortArray.Float
    Numeric.LAPACK.ComfortArray.Double
    Numeric.LAPACK.ComfortArray.Real
    Numeric.LAPACK.ComfortArray.ComplexFloat
    Numeric.LAPACK.ComfortArray.ComplexDouble
    Numeric.LAPACK.ComfortArray.Complex
    Numeric.LAPACK.ComfortArray.Generic
    Numeric.LAPACK.ComfortArray.Miscellaneous
  Other-Modules:
    Numeric.LAPACK.ComfortArray.Demo
    Numeric.LAPACK.ComfortArray.Example