packages feed

arithmoi-0.5.0.0: arithmoi.cabal

name                : arithmoi
version             : 0.5.0.0
cabal-version       : >= 1.10
author              : Daniel Fischer
copyright           : (c) 2011 Daniel Fischer, 2016-2017 Andrew Lelechenko, Carter Schonwald
license             : MIT
license-file        : LICENSE
maintainer          : Carter Schonwald  carter at wellposed dot com,
                      Andrew Lelechenko andrew dot lelechenko at gmail dot com
build-type          : Simple
stability           : Provisional
homepage            : https://github.com/cartazio/arithmoi
bug-reports         : https://github.com/cartazio/arithmoi/issues

synopsis            : Efficient basic number-theoretic functions.
description         : A library of basic functionality needed for
                      number-theoretic calculations. The aim of this library
                      is to provide efficient implementations of the functions.

                      Primes and related things (totients, factorisation),
                      powers (integer roots and tests, modular exponentiation).

category            : Math, Algorithms, Number Theory

tested-with         : GHC==7.8.4, GHC==7.10.3, GHC==8.0.2

extra-source-files  : Changes

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

library
    default-language: Haskell2010
    build-depends       : base >= 4.7 && < 5
                        , array >= 0.5 && < 0.6
                        , ghc-prim < 0.6
                        , integer-gmp < 1.1
                        , containers >= 0.5 && < 0.6
                        , random >= 1.0 && < 1.2
                        , mtl >= 2.0 && < 2.3
                        , exact-pi >= 0.4.1.1
                        , integer-logarithms >= 1.0
    if impl(ghc < 7.10)
      build-depends     : nats >= 1 && <1.2
    if impl(ghc < 8.0)
      build-depends     : semigroups >= 0.8

    exposed-modules     : Math.NumberTheory.ArithmeticFunctions
                          Math.NumberTheory.ArithmeticFunctions.Class
                          Math.NumberTheory.ArithmeticFunctions.Standard
                          Math.NumberTheory.Moduli
                          Math.NumberTheory.MoebiusInversion
                          Math.NumberTheory.MoebiusInversion.Int
                          Math.NumberTheory.Recurrencies.Bilinear
                          Math.NumberTheory.Recurrencies.Linear
                          Math.NumberTheory.GaussianIntegers
                          Math.NumberTheory.GCD
                          Math.NumberTheory.GCD.LowLevel
                          Math.NumberTheory.Powers
                          Math.NumberTheory.Powers.Squares
                          Math.NumberTheory.Powers.Squares.Internal
                          Math.NumberTheory.Powers.Cubes
                          Math.NumberTheory.Powers.Fourth
                          Math.NumberTheory.Powers.General
                          Math.NumberTheory.Powers.Integer
                          Math.NumberTheory.Primes
                          Math.NumberTheory.Primes.Sieve
                          Math.NumberTheory.Primes.Factorisation
                          Math.NumberTheory.Primes.Factorisation.Certified
                          Math.NumberTheory.Primes.Counting
                          Math.NumberTheory.Primes.Testing
                          Math.NumberTheory.Primes.Testing.Certificates
                          Math.NumberTheory.Primes.Heap
                          Math.NumberTheory.UniqueFactorisation
                          Math.NumberTheory.Zeta
    other-modules       : Math.NumberTheory.Utils
                          Math.NumberTheory.Unsafe
                          Math.NumberTheory.Primes.Counting.Impl
                          Math.NumberTheory.Primes.Counting.Approximate
                          Math.NumberTheory.Primes.Factorisation.Montgomery
                          Math.NumberTheory.Primes.Factorisation.TrialDivision
                          Math.NumberTheory.Primes.Sieve.Eratosthenes
                          Math.NumberTheory.Primes.Sieve.Indexing
                          Math.NumberTheory.Primes.Sieve.Misc
                          Math.NumberTheory.Primes.Testing.Probabilistic
                          Math.NumberTheory.Primes.Testing.Certified
                          Math.NumberTheory.Primes.Testing.Certificates.Internal
    other-extensions          : BangPatterns

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

source-repository head
  type:     git
  location: https://github.com/cartazio/arithmoi


benchmark criterion
  build-depends:    base
                    , arithmoi
                    , criterion
                    , containers
                    , random
                    , integer-logarithms
  if impl(ghc < 7.10)
    build-depends     : nats >= 1 && <1.2
  other-modules:    Math.NumberTheory.ArithmeticFunctionsBench
                  , Math.NumberTheory.PowersBench
                  , Math.NumberTheory.PrimesBench
                  , Math.NumberTheory.RecurrenciesBench
  hs-source-dirs:   benchmark
  main-is:          Bench.hs
  type:             exitcode-stdio-1.0
  default-language: Haskell2010

test-suite spec
  type:                 exitcode-stdio-1.0
  hs-source-dirs:       test-suite
  ghc-options:          -Wall
  main-is:              Test.hs
  default-language: Haskell2010
  build-depends:        base >= 4.6 && < 5
                      , containers >= 0.5 && < 0.6
                      , arithmoi >= 0.5 && < 0.6
                      , tasty >= 0.10 && < 0.12
                      , tasty-smallcheck >= 0.8 && < 0.9
                      , tasty-quickcheck >= 0.8 && < 0.9
                      , tasty-hunit >= 0.9 && < 0.10
                      , QuickCheck >= 2.7.6 && < 2.10
                      , smallcheck >= 1.1 && < 1.2
                      , transformers >= 0.5
                      , integer-gmp < 1.1
  if impl(ghc < 7.10)
    build-depends     : nats >= 1 && <1.2

  other-modules :   Math.NumberTheory.ArithmeticFunctionsTests
                  , Math.NumberTheory.GaussianIntegersTests
                  , Math.NumberTheory.GCDTests
                  , Math.NumberTheory.GCD.LowLevelTests
                  , Math.NumberTheory.Recurrencies.LinearTests
                  , Math.NumberTheory.Recurrencies.BilinearTests
                  , Math.NumberTheory.ModuliTests
                  , Math.NumberTheory.Powers.CubesTests
                  , Math.NumberTheory.MoebiusInversionTests
                  , Math.NumberTheory.MoebiusInversion.IntTests
                  , Math.NumberTheory.Powers.FourthTests
                  , Math.NumberTheory.Powers.GeneralTests
                  , Math.NumberTheory.Powers.SquaresTests
                  , Math.NumberTheory.PrimesTests
                  , Math.NumberTheory.Primes.CountingTests
                  , Math.NumberTheory.Primes.FactorisationTests
                  , Math.NumberTheory.Primes.HeapTests
                  , Math.NumberTheory.Primes.SieveTests
                  , Math.NumberTheory.Primes.TestingTests
                  , Math.NumberTheory.TestUtils
                  , Math.NumberTheory.TestUtils.Wrappers
                  , Math.NumberTheory.TestUtils.Compose
                  , Math.NumberTheory.UniqueFactorisationTests
                  , Math.NumberTheory.ZetaTests