packages feed

atrophy-0.1.0.0: atrophy.cabal

cabal-version: 2.4
name: atrophy
version: 0.1.0.0
synopsis: Faster integer division and modulus operations 
description:
  Fast div/mod via arithmetic strength reduction.

  Good compilers already perform this optimization for divisors that are known at compile time; this library enables this optimization for divisors that are only known at runtime.
license: MIT
license-file: LICENSE
author: Zachary Churchill <zacharyachurchill@gmail.com>
maintainer: Zachary Churchill <zacharyachurchill@gmail.com>
copyright: 2022 Zachary Churchill
category: Math
extra-source-files: CHANGELOG.md

source-repository head
  type: git
  location: https://github.com/goolord/atrophy/

library
  exposed-modules:
      Atrophy
    , Atrophy.LongDivision
    , Atrophy.LongMultiplication
  other-modules:
      Atrophy.Internal
      Atrophy.Internal.LongDivision
  -- other-extensions:
  ghc-options: -Wall -O2 -Wredundant-constraints
  build-depends:
      base >=4.10.0.0 && <5
    , wide-word
    , contiguous >= 0.6.0.0
  hs-source-dirs: src
  default-language: Haskell2010

test-suite atrophy-test
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
  main-is: Main.hs
  build-depends:
      base >=4.10.0.0 && <5
    , wide-word
    , contiguous >= 0.6.0.0
    , HUnit
    , tasty
    , QuickCheck
    , quickcheck-classes
    , tasty
    , tasty-hunit
    , tasty-quickcheck
    , atrophy

benchmark atrophy-bench
  type: exitcode-stdio-1.0
  build-depends:
      base >=4.10.0.0 && <5
    , tasty
    , tasty-bench
    , deepseq
    , atrophy
    , random
  ghc-options: -Wall -O2
  default-language: Haskell2010
  hs-source-dirs: bench
  main-is: Main.hs