sparse-0.6: sparse.cabal
name: sparse
category: Data, Vector
version: 0.6
license: BSD3
cabal-version: >= 1.8
license-file: LICENSE
author: Edward A. Kmett
maintainer: Edward A. Kmett <ekmett@gmail.com>
stability: experimental
homepage: http://github.com/ekmett/sparse
bug-reports: http://github.com/ekmett/sparse/issues
copyright: Copyright (C) 2013 Edward A. Kmett
build-type: Custom
synopsis: A playground of sparse linear algebra primitives using Morton ordering
extra-source-files:
.ghci
.travis.yml
.gitignore
.vim.custom
description:
A playground of sparse linear algebra primitives using Morton ordering
.
The design of this library is describe in the following articles on FP Complete's School of Haskell.
.
1. <https://www.fpcomplete.com/user/edwardk/revisiting-matrix-multiplication-part-1>
.
2. <https://www.fpcomplete.com/user/edwardk/revisiting-matrix-multiplication-part-2>
.
3. <https://www.fpcomplete.com/user/edwardk/revisiting-matrix-multiplication-part-3>
.
4. <https://www.fpcomplete.com/user/edwardk/revisiting-matrix-multiplication-part-4>
.
5. <https://www.fpcomplete.com/user/edwardk/revisiting-matrix-multiplication-part-5>
source-repository head
type: git
location: git://github.com/ekmett/sparse.git
-- Build the properties test if we're building tests
flag test-properties
default: True
manual: True
-- You can disable the doctests test suite with -f-test-doctests
flag test-doctests
default: True
manual: True
flag optimize
default: False
manual: True
flag llvm
default: False
manual: True
library
build-depends:
base >= 4 && < 5,
contravariant >= 0.4.2 && < 1,
deepseq >= 1.1 && < 1.4,
hybrid-vectors >= 0.1 && < 1,
lens >= 3.9 && < 4,
primitive >= 0.5 && < 0.6,
transformers >= 0.3 && < 0.4,
vector >= 0.10 && < 0.11,
vector-algorithms >= 0.5 && < 0.6
hs-source-dirs: src
exposed-modules:
Sparse.Matrix
Sparse.Matrix.Internal.Fusion
Sparse.Matrix.Internal.Heap
Sparse.Matrix.Internal.Key
ghc-options: -Wall
if flag(optimize)
ghc-options: -O2
else
ghc-options: -O0
if flag(llvm)
ghc-options: -fllvm
if impl(ghc<6.13)
Ghc-Options: -finline-if-enough-args -fno-method-sharing
test-suite properties
type: exitcode-stdio-1.0
main-is: properties.hs
hs-source-dirs: tests
ghc-options: -w -threaded -rtsopts -with-rtsopts=-N -fsimpl-tick-factor=400
if !flag(test-properties)
buildable: False
else
build-depends:
base,
containers,
hybrid-vectors,
lens,
linear >= 1.2 && < 2,
QuickCheck >= 2.5,
sparse,
test-framework >= 0.6,
test-framework-quickcheck2 >= 0.3,
test-framework-th >= 0.2,
transformers,
vector
-- Verify the results of the examples
test-suite doctests
type: exitcode-stdio-1.0
main-is: doctests.hs
ghc-options: -Wall -threaded
hs-source-dirs: tests
if !flag(test-doctests)
buildable: False
else
build-depends:
base,
bytestring,
containers,
directory >= 1.0,
deepseq,
doctest >= 0.9.1,
filepath,
mtl,
semigroups >= 0.9,
simple-reflect >= 0.3.1
if impl(ghc<7.6.1)
ghc-options: -Werror
-- matrix-matrix multiplication
benchmark mm
type: exitcode-stdio-1.0
main-is: mm.hs
ghc-options: -Wall -O2 -threaded -fdicts-cheap -funbox-strict-fields -fsimpl-tick-factor=400000
hs-source-dirs: benchmarks
build-depends:
array,
base,
criterion,
deepseq,
sparse,
vector