Blob Blame History Raw
name:               integer-logarithms
version:            1.0.2
cabal-version:      >= 1.10
author:             Daniel Fischer
copyright:          (c) 2011 Daniel Fischer
license:            MIT
license-file:       LICENSE
maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>
build-type:         Simple
stability:          Provisional
homepage:           https://github.com/phadej/integer-logarithms
bug-reports:        https://github.com/phadej/integer-logarithms/issues

synopsis:           Integer logarithms.
description:
  "Math.NumberTheory.Logarithms" and "Math.NumberTheory.Powers.Integer"
  from the arithmoi package.
  .
  Also provides "GHC.Integer.Logarithms.Compat" and
  "Math.NumberTheory.Power.Natural" modules, as well as some
  additional functions in migrated modules.

category:           Math, Algorithms, Number Theory

tested-with         :
  GHC==7.0.4,
  GHC==7.2.2,
  GHC==7.4.2,
  GHC==7.6.3,
  GHC==7.8.4,
  GHC==7.10.3,
  GHC==8.0.2,
  GHC==8.2.1

extra-source-files  : readme.md changelog.md

flag integer-gmp
  description:  integer-gmp or integer-simple
  default:      True
  manual:       False

flag check-bounds
  description:  Replace unsafe array operations with safe ones
  default:      False
  manual:       True

library
  default-language: Haskell2010
  hs-source-dirs: src
  build-depends:
    base >= 4.3 && < 4.11,
    array >= 0.3 && < 0.6,
    ghc-prim < 0.6
  if impl(ghc >= 7.10)
    cpp-options: -DBase48
  else
    build-depends: nats >= 1.1 && <1.2

  if flag(integer-gmp)
    build-depends:
      integer-gmp < 1.1
  else
    build-depends:
      integer-simple

  exposed-modules:
    Math.NumberTheory.Logarithms
    Math.NumberTheory.Powers.Integer
    Math.NumberTheory.Powers.Natural
    GHC.Integer.Logarithms.Compat
  other-extensions:
    BangPatterns
    CPP
    MagicHash

  ghc-options: -O2 -Wall
  if flag(check-bounds)
    cpp-options: -DCheckBounds

source-repository head
  type:     git
  location: https://github.com/phadej/integer-logarithms

test-suite spec
  type:                 exitcode-stdio-1.0
  hs-source-dirs:       test-suite
  ghc-options:          -Wall
  main-is:              Test.hs
  default-language:     Haskell2010
  other-extensions:
    StandaloneDeriving
    FlexibleContexts
    FlexibleInstances
    GeneralizedNewtypeDeriving
    MultiParamTypeClasses
  build-depends:
    base,
    integer-logarithms,
    tasty >= 0.10 && < 0.12,
    tasty-smallcheck >= 0.8 && < 0.9,
    tasty-quickcheck >= 0.8 && < 0.10,
    tasty-hunit >= 0.9 && < 0.10,
    QuickCheck >= 2.10 && < 2.11,
    smallcheck >= 1.1 && < 1.2
  if !impl(ghc >= 7.10)
    build-depends: nats >= 1.1 && <1.2

  other-modules:
    Math.NumberTheory.LogarithmsTests
    Math.NumberTheory.TestUtils
    Orphans