packages feed

fast-arithmetic-0.6.0.2: fast-arithmetic.cabal

cabal-version: 1.18
name: fast-arithmetic
version: 0.6.0.2
license: BSD3
license-file: LICENSE
copyright: Copyright: (c) 2018 Vanessa McHale
maintainer: vamchale@gmail.com
author: Vanessa McHale
homepage: https://github.com/vmchale/fast-arithmetic#readme
bug-reports: https://github.com/vmchale/hs-ats/issues
synopsis: Fast functions on integers.
description:
    Fast functions for number theory and combinatorics with a high level of safety guaranteed by [ATS](http://www.ats-lang.org/).
category: Numerics, Math, Algorithms, Number Theory, Combinatorics, FFI, ATS
build-type: Simple
extra-source-files:
    atspkg.dhall
    pkg.dhall
    .atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/*.h
    .atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/*.c
    .atspkg/contrib/ats-includes-0.3.10/prelude/CATS/*.cats
    .atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/*.cats
    .atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/*.cats
    .atspkg/contrib/atscntrb-hx-intinf/*.hats
    .atspkg/contrib/atscntrb-hx-libgmp/CATS/*.cats
extra-doc-files: README.md

source-repository head
    type: git
    location: git@github.com:vmchale/hs-ats.git

flag development
    description:
        Enable `-Werror` and don't clean ATS libraries between builds.
    default: False
    manual: True

library
    exposed-modules:
        Numeric.NumberTheory
        Numeric.Combinatorics
    c-sources:
        cbits/combinatorics.c
        cbits/number-theory.c
        cbits/numerics.c
    hs-source-dirs: src
    other-modules:
        Numeric.Common
    default-language: Haskell2010
    include-dirs: .atspkg/contrib/ats-includes-0.3.10/ccomp/runtime
                  .atspkg/contrib/ats-includes-0.3.10/ .atspkg/contrib
    ghc-options: -Wall -optc-mtune=native -optc-flto -optc-O3
    build-depends:
        base >=4.7 && <5,
        composition-prelude >=1.2.0.0,
        gmpint -any
    
    if impl(ghc >=8.0)
        ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates
                     -Wcompat
    
    if flag(development)
        ghc-options: -Werror

test-suite fast-arithmetic-test
    type: exitcode-stdio-1.0
    main-is: Spec.hs
    hs-source-dirs: test
    default-language: Haskell2010
    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
    build-depends:
        base -any,
        fast-arithmetic -any,
        hspec -any,
        QuickCheck -any,
        arithmoi -any
    
    if impl(ghc >=8.4)
        build-depends:
            combinat-compat -any
    else
        build-depends:
            combinat -any
    
    if flag(development)
        ghc-options: -Werror
    
    if impl(ghc >=8.0)
        ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates
                     -Wcompat

benchmark fast-arithmetic-bench
    type: exitcode-stdio-1.0
    main-is: Bench.hs
    hs-source-dirs: bench
    default-language: Haskell2010
    ghc-options: -Wall
    build-depends:
        base -any,
        fast-arithmetic -any,
        criterion -any,
        arithmoi -any
    
    if impl(ghc >=8.4)
        build-depends:
            combinat-compat -any
    else
        build-depends:
            combinat -any
    
    if flag(development)
        ghc-options: -Werror
    
    if impl(ghc >=8.0)
        ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates
                     -Wcompat