Name:             lapack
Version:          0.2.3
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/
Category:         Data Structures
Synopsis:         Numerical Linear Algebra using LAPACK
Description:
  This is a high-level interface to LAPACK.
  It provides solvers for simultaneous linear equations,
  linear least-squares problems, eigenvalue and singular value problems
  for matrices with certain kinds of structures.
  .
  Features:
  .
  * Based on @comfort-array@:
    Allows to precisely express one-column or one-row matrices,
    as well as dense, square, triangular, banded, symmetric and block matrices.
  .
  * Support all data types that are supported by LAPACK,
    i.e. Float, Double, Complex Float, Complex Double
  .
  * No need for c2hs, hsc, Template Haskell or C helper functions
  .
  * Dependency only on BLAS and LAPACK, no GSL
  .
  * Works with matrices and vectors with zero dimensions.
  .
  * Separate formatting operator @(##)@:
    Works better for tuples of matrices and vectors than 'show'.
    'Show' is used for code one-liners
    that can be copied back into Haskell modules.
  .
  See also: @hmatrix@.
Tested-With:      GHC==7.4.2, GHC==7.8.4, GHC==8.2.2
Cabal-Version:    >=1.8
Build-Type:       Simple
Extra-Source-Files:
  Makefile

Flag buildExamples
  description: Build example executables
  default:     False

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

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

Library
  Build-Depends:
    lapack-ffi >=0.0.1 && <0.1,
    blas-ffi >=0.0 && <0.2,
    netlib-ffi >=0.1.1 && <0.2,
    comfort-array >=0.3 && <0.4,
    guarded-allocation >=0.0 && <0.1,
    boxes >=0.1.5 && <0.2,
    deepseq >=1.3 && <1.5,
    lazyio >=0.1 && <0.2,
    transformers >=0.3 && <0.6,
    tfp >=1.0.1 && <1.1,
    fixed-length >=0.2 && <0.3,
    non-empty >=0.3 && <0.4,
    utility-ht >=0.0.10 && <0.1,
    base >=4.5 && <5

  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Exposed-Modules:
    Numeric.LAPACK.Matrix
    Numeric.LAPACK.Matrix.Extent
    Numeric.LAPACK.Matrix.Shape.Box
    Numeric.LAPACK.Matrix.Shape
    Numeric.LAPACK.Matrix.Square
    Numeric.LAPACK.Matrix.Hermitian
    Numeric.LAPACK.Matrix.HermitianPositiveDefinite
    Numeric.LAPACK.Matrix.Triangular
    Numeric.LAPACK.Matrix.Banded
    Numeric.LAPACK.Matrix.BandedHermitian
    Numeric.LAPACK.Matrix.BandedHermitianPositiveDefinite
    Numeric.LAPACK.Vector
    Numeric.LAPACK.Scalar
    Numeric.LAPACK.Orthogonal
    Numeric.LAPACK.Orthogonal.Householder
    Numeric.LAPACK.Permutation
    Numeric.LAPACK.Linear.LowerUpper
    Numeric.LAPACK.Singular
    Numeric.LAPACK.ShapeStatic
    Numeric.LAPACK.Format
  Other-Modules:
    Numeric.LAPACK.Orthogonal.Private
    Numeric.LAPACK.Linear.Private
    Numeric.LAPACK.Split
    Numeric.LAPACK.Permutation.Private
    Numeric.LAPACK.Matrix.Square.Basic
    Numeric.LAPACK.Matrix.Square.Linear
    Numeric.LAPACK.Matrix.Square.Eigen
    Numeric.LAPACK.Matrix.Triangular.Private
    Numeric.LAPACK.Matrix.Triangular.Basic
    Numeric.LAPACK.Matrix.Triangular.Linear
    Numeric.LAPACK.Matrix.Triangular.Eigen
    Numeric.LAPACK.Matrix.Hermitian.Private
    Numeric.LAPACK.Matrix.Hermitian.Basic
    Numeric.LAPACK.Matrix.Hermitian.Linear
    Numeric.LAPACK.Matrix.Hermitian.Eigen
    Numeric.LAPACK.Matrix.HermitianPositiveDefinite.Linear
    Numeric.LAPACK.Matrix.Symmetric.Private
    Numeric.LAPACK.Matrix.Banded.Basic
    Numeric.LAPACK.Matrix.Banded.Linear
    Numeric.LAPACK.Matrix.BandedHermitian.Basic
    Numeric.LAPACK.Matrix.BandedHermitian.Eigen
    Numeric.LAPACK.Matrix.BandedHermitianPositiveDefinite.Linear
    Numeric.LAPACK.Matrix.Shape.Private
    Numeric.LAPACK.Matrix.Extent.Private
    Numeric.LAPACK.Matrix.Extent.Kind
    Numeric.LAPACK.Matrix.Multiply
    Numeric.LAPACK.Matrix.Divide
    Numeric.LAPACK.Matrix.Indexed
    Numeric.LAPACK.Matrix.Basic
    Numeric.LAPACK.Matrix.Private
    Numeric.LAPACK.Private
    Numeric.LAPACK.Wrapper

Test-Suite lapack-test
  Type: exitcode-stdio-1.0
  Build-Depends:
    lapack,
    netlib-ffi,
    tfp,
    comfort-array,
    data-ref >=0.0.1 && <0.1,
    unique-logic-tf >=0.5.1 && <0.6,
    random >=1.1 && <1.2,
    quickcheck-transformer >=0.3 && <0.4,
    QuickCheck >=2.5 && <3,
    ChasingBottoms >=1.2.2 && <1.4,
    transformers,
    monoid-transformer >=0.0.3 && <0.1,
    semigroups >=0.18.3 && <0.19,
    non-empty >=0.3.1,
    utility-ht,
    base

  GHC-Options:      -Wall
  Hs-Source-Dirs:   test
  Main-Is:          Main.hs
  Other-Modules:
    Test.Shape
    Test.Indexed
    Test.Permutation
    Test.Vector
    Test.Matrix
    Test.Square
    Test.Triangular
    Test.Hermitian
    Test.Orthogonal
    Test.Banded
    Test.BandedHermitian
    Test.Banded.Utility
    Test.Singular
    Test.Generator
    Test.Logic
    Test.Format
    Test.Utility

Executable lapack-economic
  If flag(buildExamples)
    Build-Depends:
      lapack,
      comfort-array,
      utility-ht,
      base
  Else
    Buildable: False

  GHC-Options:      -Wall
  Hs-Source-Dirs:   example
  Main-Is:          EconomicAllocation.hs