name:                sparse-tensor
version:             0.2.1.4
synopsis:            typesafe tensor algebra library
description:
    .
    This package is intended to be used as a general purpose tensor algebra library.
    It defines the usual tensor algebra functions such as addition, scalar multiplication, tensor product, and contractions,
    but also general symmetrizations and further utility functions.
    .
    The implemented tensor data type is capable of being used with an arbitrary number of general abstract indices and can incorporate values
    of any type that allow for a meaningful addition, scaling, and multiplication. The package is thus very flexible and can easily be customised
    at wish.
homepage:            https://github.com/TobiReinhart/sparse-tensor#readme
license:             MIT
license-file:        LICENSE
author:              Tobias Reinhart and Nils Alex
maintainer:          tobi.reinhart@fau.de, nils.alex@fau.de
copyright:           2019 Tobias Reinhart and Nils Alex
category:            Data, Math, Algebra
build-type:          Custom
cabal-version:       1.24
extra-source-files:
    README.md
    CHANGELOG.md

custom-setup
  setup-depends:
    base >= 4.9 && < 5,
    Cabal >= 1.24 && < 3.3

source-repository head
  type:     git
  location: git://github.com/TobiReinhart/sparse-tensor.git

library
  hs-source-dirs:      src
  default-language:    Haskell2010
  build-depends:       base                       >= 4.9 && < 5,
                       containers                 >= 0.5 && < 0.7,
                       tf-random                  >= 0.5 && < 0.6,
                       ghc-typelits-natnormalise  >= 0.5 && < 0.8,
                       ghc-typelits-knownnat      >= 0.2 && < 0.8,
                       parallel                   >= 3.2 && < 3.3,
                       deepseq                    >= 1.1 && < 1.5,
                       cereal                     >= 0.4 && < 0.6,
                       bytestring                 >= 0.10 && < 0.11,
                       zlib                       >= 0.6 && < 0.7,
                       ad                         >= 4.2 && < 4.5,
                       hmatrix                    >= 0.16.1 && < 0.21
  exposed-modules:     Math.Tensor
                       Math.Tensor.LorentzGenerator
                       Math.Tensor.Examples.Gravity
                       Math.Tensor.Examples.Gravity.Schwarzschild
                       Math.Tensor.Examples.Gravity.SchwarzschildSymbolic
                       Math.Tensor.Examples.Gravity.DiffeoSymEqns
                       Math.Tensor.Internal.LinearAlgebra

test-suite test-sparse-tensor
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  default-language:    Haskell2010
  main-is:             TestMain.hs
  other-modules:       LinearAlgebra, IndList, Ansatz, Serialization
  build-depends:       base              >= 4.9 && < 5,
                       hmatrix           >= 0.16.1 && < 0.21,
                       QuickCheck        >= 2.8.2 && < 2.15,
                       tasty             >= 0.11 && < 1.4,
                       tasty-hunit       >= 0.9 && < 0.11,
                       tasty-quickcheck  >= 0.8 && < 0.11,
                       sparse-tensor