packages feed

arithmoi-0.12.0.0: arithmoi.cabal

name:          arithmoi
version:       0.12.0.0
cabal-version: 2.0
build-type:    Simple
license:       MIT
license-file:  LICENSE
copyright:     (c) 2016-2021 Andrew Lelechenko, 2016-2019 Carter Schonwald, 2011 Daniel Fischer
maintainer:    Andrew Lelechenko <andrew.lelechenko@gmail.com>
homepage:      https://github.com/Bodigrim/arithmoi
bug-reports:   https://github.com/Bodigrim/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
author:        Andrew Lelechenko, Daniel Fischer
tested-with:   GHC ==8.2.2 GHC ==8.4.4 GHC ==8.6.5 GHC ==8.8.4 GHC ==8.10.4 GHC ==9.0.1
extra-source-files:
  changelog.md

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

library
  build-depends:
    base >=4.10 && <5,
    array >=0.5 && <0.6,
    containers >=0.5.8 && <0.7,
    chimera >=0.3,
    constraints,
    deepseq,
    exact-pi >=0.5,
    integer-gmp <1.2,
    integer-logarithms >=1.0,
    integer-roots >=1.0,
    mod,
    random >=1.0 && <1.3,
    transformers >=0.4 && <0.6,
    semirings >=0.5.2,
    vector >=0.12
  exposed-modules:
    Math.NumberTheory.ArithmeticFunctions
    Math.NumberTheory.ArithmeticFunctions.Inverse
    Math.NumberTheory.ArithmeticFunctions.Mertens
    Math.NumberTheory.ArithmeticFunctions.NFreedom
    Math.NumberTheory.ArithmeticFunctions.Moebius
    Math.NumberTheory.ArithmeticFunctions.SieveBlock
    Math.NumberTheory.Curves.Montgomery
    Math.NumberTheory.Diophantine
    Math.NumberTheory.DirichletCharacters
    Math.NumberTheory.Euclidean.Coprimes
    Math.NumberTheory.Moduli
    Math.NumberTheory.Moduli.Chinese
    Math.NumberTheory.Moduli.Class
    Math.NumberTheory.Moduli.Cbrt
    Math.NumberTheory.Moduli.Equations
    Math.NumberTheory.Moduli.Multiplicative
    Math.NumberTheory.Moduli.Singleton
    Math.NumberTheory.Moduli.Sqrt
    Math.NumberTheory.MoebiusInversion
    Math.NumberTheory.Powers.Modular
    Math.NumberTheory.Prefactored
    Math.NumberTheory.Primes
    Math.NumberTheory.Primes.Counting
    Math.NumberTheory.Primes.IntSet
    Math.NumberTheory.Primes.Testing
    Math.NumberTheory.Quadratic.GaussianIntegers
    Math.NumberTheory.Quadratic.EisensteinIntegers
    Math.NumberTheory.Recurrences
    Math.NumberTheory.Recurrences.Bilinear
    Math.NumberTheory.Recurrences.Linear
    Math.NumberTheory.SmoothNumbers
    Math.NumberTheory.Zeta
  other-modules:
    Math.NumberTheory.ArithmeticFunctions.Class
    Math.NumberTheory.ArithmeticFunctions.Standard
    Math.NumberTheory.Moduli.Internal
    Math.NumberTheory.Moduli.JacobiSymbol
    Math.NumberTheory.Moduli.SomeMod
    Math.NumberTheory.Primes.Counting.Approximate
    Math.NumberTheory.Primes.Counting.Impl
    Math.NumberTheory.Primes.Factorisation.Montgomery
    Math.NumberTheory.Primes.Factorisation.TrialDivision
    Math.NumberTheory.Primes.Sieve.Eratosthenes
    Math.NumberTheory.Primes.Sieve.Indexing
    Math.NumberTheory.Primes.Small
    Math.NumberTheory.Primes.Testing.Certified
    Math.NumberTheory.Primes.Testing.Probabilistic
    Math.NumberTheory.Primes.Types
    Math.NumberTheory.Recurrences.Pentagonal
    Math.NumberTheory.RootsOfUnity
    Math.NumberTheory.Utils
    Math.NumberTheory.Utils.DirichletSeries
    Math.NumberTheory.Utils.FromIntegral
    Math.NumberTheory.Utils.Hyperbola
    Math.NumberTheory.Zeta.Dirichlet
    Math.NumberTheory.Zeta.Hurwitz
    Math.NumberTheory.Zeta.Riemann
    Math.NumberTheory.Zeta.Utils
  default-language: Haskell2010
  ghc-options: -Wall -Widentities -Wcompat -Wno-deprecations

test-suite arithmoi-tests
  build-depends:
    base >=4.10 && <5,
    arithmoi,
    containers,
    exact-pi >=0.4.1.1,
    integer-gmp <1.2,
    integer-roots >=1.0,
    mod,
    QuickCheck >=2.10,
    quickcheck-classes >=0.6.3,
    random >=1.0 && <1.3,
    semirings >=0.2,
    smallcheck >=1.2 && <1.3,
    tasty >=0.10,
    tasty-hunit >=0.9 && <0.11,
    tasty-quickcheck >=0.9 && <0.11,
    tasty-rerun >=1.1.17,
    tasty-smallcheck >=0.8 && <0.9,
    transformers >=0.5,
    vector,
    vector-sized
  other-modules:
    Math.NumberTheory.ArithmeticFunctionsTests
    Math.NumberTheory.ArithmeticFunctions.InverseTests
    Math.NumberTheory.ArithmeticFunctions.MertensTests
    Math.NumberTheory.ArithmeticFunctions.SieveBlockTests
    Math.NumberTheory.CurvesTests
    Math.NumberTheory.DiophantineTests
    Math.NumberTheory.DirichletCharactersTests
    Math.NumberTheory.EisensteinIntegersTests
    Math.NumberTheory.GaussianIntegersTests
    Math.NumberTheory.EuclideanTests
    Math.NumberTheory.Moduli.ChineseTests
    Math.NumberTheory.Moduli.DiscreteLogarithmTests
    Math.NumberTheory.Moduli.ClassTests
    Math.NumberTheory.Moduli.CbrtTests
    Math.NumberTheory.Moduli.EquationsTests
    Math.NumberTheory.Moduli.JacobiTests
    Math.NumberTheory.Moduli.PrimitiveRootTests
    Math.NumberTheory.Moduli.SingletonTests
    Math.NumberTheory.Moduli.SqrtTests
    Math.NumberTheory.MoebiusInversionTests
    Math.NumberTheory.PrefactoredTests
    Math.NumberTheory.Primes.CountingTests
    Math.NumberTheory.Primes.FactorisationTests
    -- Math.NumberTheory.Primes.LinearAlgebraTests
    -- Math.NumberTheory.Primes.QuadraticSieveTests
    Math.NumberTheory.Primes.SequenceTests
    Math.NumberTheory.Primes.SieveTests
    Math.NumberTheory.Primes.TestingTests
    Math.NumberTheory.PrimesTests
    Math.NumberTheory.Recurrences.PentagonalTests
    Math.NumberTheory.Recurrences.BilinearTests
    Math.NumberTheory.Recurrences.LinearTests
    Math.NumberTheory.RootsOfUnityTests
    Math.NumberTheory.SmoothNumbersTests
    Math.NumberTheory.TestUtils
    Math.NumberTheory.TestUtils.MyCompose
    Math.NumberTheory.TestUtils.Wrappers
    Math.NumberTheory.UniqueFactorisationTests
    Math.NumberTheory.Zeta.DirichletTests
    Math.NumberTheory.Zeta.RiemannTests
  type: exitcode-stdio-1.0
  main-is: Test.hs
  default-language: Haskell2010
  hs-source-dirs: test-suite
  ghc-options: -Wall -Widentities -Wcompat -threaded

benchmark arithmoi-bench
  build-depends:
    base,
    arithmoi,
    array,
    constraints,
    containers,
    deepseq,
    integer-logarithms,
    mod,
    random,
    semirings,
    vector
  build-depends:
    tasty-bench
  mixins:
    tasty-bench (Test.Tasty.Bench as Gauge.Main)
  other-modules:
    Math.NumberTheory.ArithmeticFunctionsBench
    Math.NumberTheory.DiscreteLogarithmBench
    Math.NumberTheory.EisensteinIntegersBench
    Math.NumberTheory.GaussianIntegersBench
    Math.NumberTheory.InverseBench
    Math.NumberTheory.JacobiBench
    Math.NumberTheory.MertensBench
    Math.NumberTheory.PrimesBench
    Math.NumberTheory.PrimitiveRootsBench
    Math.NumberTheory.RecurrencesBench
    Math.NumberTheory.SequenceBench
    Math.NumberTheory.SieveBlockBench
    Math.NumberTheory.SmoothNumbersBench
    Math.NumberTheory.ZetaBench
  type: exitcode-stdio-1.0
  main-is: Bench.hs
  default-language: Haskell2010
  hs-source-dirs: benchmark
  ghc-options: -Wall -Widentities -Wcompat

benchmark arithmoi-sequence-model
  build-depends:
    base,
    arithmoi,
    containers,
    hmatrix-gsl
  buildable: False
  type: exitcode-stdio-1.0
  main-is: SequenceModel.hs
  default-language: Haskell2010
  hs-source-dirs: app
  ghc-options: -Wall -Widentities -Wcompat