packages feed

fast-arithmetic-0.6.6.0: fast-arithmetic.cabal

cabal-version:      2.0
name:               fast-arithmetic
version:            0.6.6.0
license:            BSD3
license-file:       LICENSE
copyright:          Copyright: (c) 2018-2020 Vanessa McHale
maintainer:         vamchale@gmail.com
author:             Vanessa McHale
tested-with:
    ghc ==8.2.2 ghc ==8.4.4 ghc ==8.6.5 ghc ==8.8.4 ghc ==8.10.5
    ghc ==9.0.1

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
    lib.dhall
    source.dhall
    bench.dhall
    ats-src/*.dats
    ats-src/*.sats
    .atspkg/contrib/ats-includes-0.3.13/ccomp/runtime/*.h
    .atspkg/contrib/ats-includes-0.3.13/ccomp/runtime/*.c
    .atspkg/contrib/ats-includes-0.3.13/prelude/CATS/*.cats
    .atspkg/contrib/ats-includes-0.3.13/libats/libc/CATS/*.cats
    .atspkg/contrib/ats-includes-0.3.13/libats/libc/CATS/sys/*.cats
    .atspkg/contrib/atscntrb-hx-intinf/*.hats
    .atspkg/contrib/atscntrb-hx-libgmp/CATS/*.cats

extra-doc-files:
    README.md
    CHANGELOG.md

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

flag development
    description: Enable `-Werror`.
    default:     False
    manual:      True

library
    exposed-modules:
        Numeric.NumberTheory
        Numeric.Combinatorics

    c-sources:
        cbits/number-theory.c
        cbits/numerics.c
        cbits/combinatorics.c

    hs-source-dirs:   src
    other-modules:    Numeric.Common
    default-language: Haskell2010
    include-dirs:
        .atspkg/contrib/ats-includes-0.3.13/ccomp/runtime
        .atspkg/contrib/ats-includes-0.3.13/ .atspkg/contrib

    ghc-options:      -Wall
    build-depends:
        base >=4.10 && <5,
        hgmp

    if os(windows)
        buildable: False

    if impl(ghc >=8.0)
        ghc-options:
            -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat

    if flag(development)
        ghc-options: -Werror

library pure-haskell
    exposed-modules:  Numeric.Haskell
    hs-source-dirs:   common
    default-language: Haskell2010
    ghc-options:      -Wall -O2
    build-depends:
        base >=4.3 && <5,
        combinat,
        arithmoi >=0.9.0.0

    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,
        fast-arithmetic,
        hspec,
        QuickCheck,
        arithmoi >=0.4.3.0,
        combinat,
        pure-haskell

    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 -O2
    build-depends:
        base,
        fast-arithmetic,
        criterion,
        arithmoi >=0.4.3.0,
        combinat,
        exact-combinatorics,
        pure-haskell

    if flag(development)
        ghc-options: -Werror

    if impl(ghc >=8.0)
        ghc-options:
            -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat