name:                static-tensor
version:             0.2.0.0
synopsis:            Tensors of statically known size
description:         
    This library provides a toolkit for working with tensors of statically known size and element's type.
    See README.md
license:             BSD3
license-file:        LICENSE
author:              Alexey Vagarenko
maintainer:          vagarenko@gmail.com
bug-reports:         https://github.com/vagarenko/static-tensor/issues
homepage:            https://github.com/vagarenko/static-tensor
copyright:           Copyright (C) 2017 Alexey Vagarenko
category:            Data
build-type:          Simple
extra-source-files:
          ChangeLog.md
        , README.md
        , LICENSE
        , tests/TensorInstances.hs
        , tests/CoreDump/Tensor/*.hs
        , tests/CoreDump/Vector/*.hs
        , tests/CoreDump/Matrix/*.hs
        , tests/CoreDump/Tensor/*.dump-simpl.ghc821.golden
        , tests/CoreDump/Vector/*.dump-simpl.ghc821.golden
        , tests/CoreDump/Matrix/*.dump-simpl.ghc821.golden

cabal-version:       >= 1.10
tested-with:         GHC == 8.2.1

source-repository head
        type:     git
        location: https://github.com/vagarenko/static-tensor.git

library
    exposed-modules:
          Data.Tensor.Static 
        , Data.Tensor.Static.TH
        , Data.Matrix.Static
        , Data.Vector.Static
        , Data.Function.NAry
        , Data.List.Unrolled
        , Type.List

    -- other-extensions:    
    build-depends:
          base               >= 4.10 && <= 5.0
        , deepseq            == 1.4.3.*
        , lens               == 4.15.*
        , mono-traversable   == 1.0.*
        , singletons         == 2.3.*
        , split              == 0.2.*
        , template-haskell   == 2.12.*
    hs-source-dirs:      src
    default-language:    Haskell2010
    ghc-options:        -Wall -O2 -funbox-strict-fields

benchmark matMul
    type:                exitcode-stdio-1.0
    default-language:    Haskell2010
    hs-source-dirs:      bench
    main-is:             MatMul.hs
    ghc-options:         -Wall -O2 -funbox-strict-fields
    other-modules:
          MatMul.Linear
        , MatMul.Unrolled
        , MatMul.UnrolledFull
        , MatMul.Vector
        , MatMul.Vector4
        , MatMul.Tensor
    build-depends:
          base               >= 4.10 && <= 5.0
        , criterion          == 1.2.*
        , deepseq            == 1.4.3.*
        , linear             == 1.20.*
        , mwc-random         == 0.13.*
        , static-tensor      
        , vector             == 0.12.*

test-suite coreDump
  type:               exitcode-stdio-1.0
  hs-source-dirs:     tests
  ghc-options:        -Wall -O2
  default-language:   Haskell2010
  main-is:            CoreDump.hs

  build-depends:
          base               >= 4.10 && <= 5.0
        , static-tensor
        , tasty              == 0.11.2.*
        , tasty-golden       == 2.3.*
        , text               == 1.2.*
        , typed-process      == 0.1.*
        , Diff               == 0.3.*