summaryrefslogtreecommitdiff
path: root/hmatrix.cabal
blob: f39b86294f49a3ec4127ec8913a2d2d6a6119292 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Name:               hmatrix
Version:            0.4.0.0
License:            GPL
License-file:       LICENSE
Author:             Alberto Ruiz
Maintainer:         Alberto Ruiz <aruiz@um.es>
Stability:          provisional
Homepage:           http://alberrto.googlepages.com/gslhaskell
Synopsis:           Linear algebra and numerical computations
Description:        A purely functional interface to basic linear algebra computations
                    and other numerical routines, internally implemented using
                    GSL, BLAS and LAPACK.
                    .
                    More information: <http://alberrto.googlepages.com/gslhaskell>
Category:           Numerical, Math
tested-with:        GHC ==6.8.2

cabal-version:      >=1.2
build-type:         Simple

flag splitBase
    description:    Choose the new smaller, split-up base package.

flag mkl
    description:    Link with Intel's MKL optimized libraries.
    default:        False

flag unsafe
    description: Compile the library with bound checking disabled.
    default: False

library
    if flag(splitBase)
      build-depends:    base >= 3, array, QuickCheck, HUnit, storable-complex
    else
      build-depends:    base < 3, QuickCheck, HUnit, storable-complex

    if !flag(mkl)
      if !arch(x86_64)
        ghc-options:    -fvia-C

    Build-Depends:      haskell98
    Extensions:         ForeignFunctionInterface,
                        CPP

    hs-source-dirs:     lib
    Exposed-modules:    Data.Packed,
                        Data.Packed.Vector,
                        Data.Packed.Matrix,
                        Numeric.GSL.Vector,
                        Numeric.GSL.Matrix,
                        Numeric.GSL.Differentiation,
                        Numeric.GSL.Integration,
                        Numeric.GSL.Fourier,
                        Numeric.GSL.Polynomials,
                        Numeric.GSL.Minimization,
                        Numeric.GSL.Special,
                        Numeric.GSL.Special.Gamma,
                        Numeric.GSL.Special.Erf,
                        Numeric.GSL.Special.Airy,
                        Numeric.GSL.Special.Exp,
                        Numeric.GSL.Special.Bessel,
                        Numeric.GSL.Special.Clausen,
                        Numeric.GSL.Special.Coulomb,
                        Numeric.GSL.Special.Coupling,
                        Numeric.GSL.Special.Dawson,
                        Numeric.GSL.Special.Debye,
                        Numeric.GSL.Special.Dilog,
                        Numeric.GSL.Special.Elementary,
                        Numeric.GSL.Special.Ellint,
                        Numeric.GSL.Special.Expint,
                        Numeric.GSL.Special.Fermi_dirac,
                        Numeric.GSL.Special.Gegenbauer,
                        Numeric.GSL.Special.Hyperg,
                        Numeric.GSL.Special.Laguerre,
                        Numeric.GSL.Special.Lambert,
                        Numeric.GSL.Special.Pow_int,
                        Numeric.GSL.Special.Psi,
                        Numeric.GSL.Special.Synchrotron,
                        Numeric.GSL.Special.Trig,
                        Numeric.GSL.Special.Zeta,
                        Numeric.GSL.Special.Log,
                        Numeric.GSL.Special.Legendre,
                        Numeric.GSL,
                        Numeric.LinearAlgebra,
                        Numeric.LinearAlgebra.LAPACK,
                        Numeric.LinearAlgebra.Linear,
                        Numeric.LinearAlgebra.Instances,
                        Numeric.LinearAlgebra.Interface,
                        Numeric.LinearAlgebra.Algorithms,
                        Graphics.Plot,
                        Numeric.LinearAlgebra.Tests
                        Data.Packed.Convert
                        Data.Packed.ST
    other-modules:      Data.Packed.Internal,
                        Data.Packed.Internal.Common,
                        Data.Packed.Internal.Vector,
                        Data.Packed.Internal.Matrix,
                        Numeric.GSL.Special.Internal,
                        Numeric.LinearAlgebra.Tests.Instances
                        Numeric.LinearAlgebra.Tests.Properties
    C-sources:          lib/Data/Packed/Internal/auxi.c,
                        lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.c,
                        lib/Numeric/GSL/gsl-aux.c
    if flag(mkl)
      if arch(x86_64)
        extra-libraries:   gsl mkl_lapack mkl_intel_lp64 mkl_sequential mkl_core
      else
        extra-libraries:   gsl mkl_lapack mkl_intel mkl_sequential mkl_core
    else
      extra-libraries:  gsl blas lapack

    cc-options:         -O4
    ghc-prof-options:   -auto-all

    if flag(unsafe)
        cpp-options: -DUNSAFE