packages feed

arithmoi-0.4.2.0: arithmoi.cabal

name                : arithmoi
version             : 0.4.2.0
cabal-version       : >= 1.10
author              : Daniel Fischer
copyright           : (c) 2011 Daniel Fischer
license             : MIT
license-file        : LICENSE
maintainer          : Carter Schonwald  carter at wellposed 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.
                      Primes, powers, integer logarithms.
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),
                      integer logarithms.

                      Note: Requires GHC >= 6.12 with the integer-gmp package
                      for efficiency. Portability is on the to-do list (with
                      low priority, however).

category            : Math, Algorithms, Number Theory

tested-with         : GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.1

extra-source-files  : Changes, TODO

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

library
    default-language: Haskell2010
    build-depends       : base >= 4 && < 5
                          , array >= 0.3 && < 0.6
                          , ghc-prim < 0.6
                          , integer-gmp < 1.1
                          , containers >= 0.3 && < 0.6
                          , random >= 1.0 && < 1.2
                          , mtl >= 2.0 && < 2.3

    exposed-modules     : Math.NumberTheory.Logarithms
                          Math.NumberTheory.Moduli
                          Math.NumberTheory.MoebiusInversion
                          Math.NumberTheory.MoebiusInversion.Int
                          Math.NumberTheory.Lucas
                          Math.NumberTheory.GaussianIntegers
                          Math.NumberTheory.GCD
                          Math.NumberTheory.GCD.LowLevel
                          Math.NumberTheory.Powers
                          Math.NumberTheory.Powers.Squares
                          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
    other-modules       : Math.NumberTheory.Utils
                          Math.NumberTheory.Unsafe
                          Math.NumberTheory.Logarithms.Internal
                          Math.NumberTheory.Primes.Counting.Impl
                          Math.NumberTheory.Primes.Counting.Approximate
                          Math.NumberTheory.Primes.Factorisation.Montgomery
                          Math.NumberTheory.Primes.Factorisation.Utils
                          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
  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 && < 5
                        , arithmoi >= 0.4 && < 0.5
                        , 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.8 && < 2.9
                        , smallcheck >= 1.1 && < 1.2
  other-modules :   Math.NumberTheory.GaussianIntegersTests
                  , Math.NumberTheory.GCDTests
                  , Math.NumberTheory.GCD.LowLevelTests
                  , Math.NumberTheory.LogarithmsTests
                  , Math.NumberTheory.LucasTests
                  , 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.IntegerTests
                  , Math.NumberTheory.Powers.SquaresTests
                  , Math.NumberTheory.PrimesTests
                  , Math.NumberTheory.Primes.CountingTests
                  , Math.NumberTheory.Primes.HeapTests
                  , Math.NumberTheory.Primes.SieveTests
                  , Math.NumberTheory.TestUtils