name:                hmatrix-sundials
version:             0.20.1.0
synopsis:            hmatrix interface to sundials
description:         An interface to the solving suite SUNDIALS. Currently, it
                     mimics the solving interface in hmstrix-gsl but
                     provides more diagnostic information and the
                     Butcher Tableaux (for Runge-Kutta methods).
homepage:            https://github.com/haskell-numerics/hmatrix-sundials
license:             BSD3
license-file:        LICENSE
author:              Dominic Steinitz
maintainer:          dominic@steinitz.org
copyright:           Dominic Steinitz 2018, Novadiscovery 2018
category:            Math
build-type:          Simple
extra-source-files:  ChangeLog.md, README.md, diagrams/*.png
extra-doc-files:     diagrams/*.png
cabal-version:       >=1.18


library
  build-depends:       base >=4.12 && <4.13,
                       inline-c,
                       vector,
                       template-haskell >=2.14 && <2.15,
                       containers,
                       split,
                       hmatrix,
                       deepseq
  extra-libraries:     sundials_arkode,
                       sundials_cvode
  other-extensions:    QuasiQuotes
  hs-source-dirs:      src
  exposed-modules:     Numeric.Sundials.Types,
                       Numeric.Sundials.Arkode,
                       Numeric.Sundials.ARKode.ODE,
                       Numeric.Sundials.CVode.ODE
  c-sources:           src/helpers.c
  default-language:    Haskell2010

test-suite hmatrix-sundials-testsuite
  type:                exitcode-stdio-1.0
  main-is:             Main.hs
  build-depends:       base >=4.12 && <4.13,
                       inline-c,
                       vector,
                       template-haskell >=2.14 && <2.15,
                       containers,
                       split,
                       hmatrix,
                       hmatrix-sundials,
                       plots,
                       diagrams-lib,
                       diagrams-rasterific,
                       lens,
                       hspec,
                       hmatrix-sundials
  hs-source-dirs:      test
  extra-libraries:     sundials_arkode,
                       sundials_cvode
  c-sources:           src/helpers.c
  default-language:    Haskell2010

benchmark benchmark
  type:
    exitcode-stdio-1.0
  hs-source-dirs:
    benchmark
  main-is:
    benchmark.hs
  default-language:
    Haskell2010
  build-depends:
    base,
    hmatrix,
    hmatrix-sundials,
    clock >= 0.7.1,
    optparse-applicative,
    cassava,
    bytestring
  ghc-options:
    -Wall -Wno-name-shadowing
  default-extensions:
    BangPatterns
    DeriveGeneric
    FlexibleInstances
    RecordWildCards
    NamedFieldPuns