arithmoi-0.8.0.0: arithmoi.cabal
name: arithmoi
version: 0.8.0.0
cabal-version: >=1.10
build-type: Simple
license: MIT
license-file: LICENSE
copyright: (c) 2011 Daniel Fischer, 2016-2018 Andrew Lelechenko, Carter Schonwald
maintainer: Carter Schonwald carter at wellposed dot com,
Andrew Lelechenko andrew dot lelechenko at gmail dot com
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
author: Daniel Fischer
tested-with: GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.3
extra-source-files:
Changes
source-repository head
type: git
location: https://github.com/cartazio/arithmoi
flag check-bounds
description:
Replace unsafe array operations with safe ones
default: False
manual: True
library
build-depends:
base >=4.7 && <5,
array >=0.5 && <0.6,
containers >=0.5 && <0.7,
deepseq,
exact-pi >=0.4.1.1,
ghc-prim <0.6,
integer-gmp <1.1,
integer-logarithms >=1.0,
random >=1.0 && <1.2,
transformers >=0.4 && <0.6,
vector >= 0.12
if impl(ghc <8.0)
build-depends:
semigroups >=0.8
exposed-modules:
GHC.TypeNats.Compat
Math.NumberTheory.ArithmeticFunctions
Math.NumberTheory.ArithmeticFunctions.Mertens
Math.NumberTheory.ArithmeticFunctions.Moebius
Math.NumberTheory.ArithmeticFunctions.SieveBlock
Math.NumberTheory.Curves.Montgomery
Math.NumberTheory.Euclidean
Math.NumberTheory.Euclidean.Coprimes
Math.NumberTheory.GaussianIntegers
Math.NumberTheory.GCD
Math.NumberTheory.GCD.LowLevel
Math.NumberTheory.Moduli
Math.NumberTheory.Moduli.Chinese
Math.NumberTheory.Moduli.Class
Math.NumberTheory.Moduli.DiscreteLogarithm
Math.NumberTheory.Moduli.Equations
Math.NumberTheory.Moduli.Jacobi
Math.NumberTheory.Moduli.PrimitiveRoot
Math.NumberTheory.Moduli.Sqrt
Math.NumberTheory.MoebiusInversion
Math.NumberTheory.MoebiusInversion.Int
Math.NumberTheory.Powers
Math.NumberTheory.Powers.Cubes
Math.NumberTheory.Powers.Fourth
Math.NumberTheory.Powers.General
Math.NumberTheory.Powers.Modular
Math.NumberTheory.Powers.Squares
Math.NumberTheory.Powers.Squares.Internal
Math.NumberTheory.Prefactored
Math.NumberTheory.Primes
Math.NumberTheory.Primes.Counting
Math.NumberTheory.Primes.Factorisation
Math.NumberTheory.Primes.Factorisation.Certified
Math.NumberTheory.Primes.Sieve
Math.NumberTheory.Primes.Testing
Math.NumberTheory.Primes.Testing.Certificates
Math.NumberTheory.Quadratic.GaussianIntegers
Math.NumberTheory.Quadratic.EisensteinIntegers
Math.NumberTheory.Recurrencies
Math.NumberTheory.Recurrencies.Bilinear
Math.NumberTheory.Recurrencies.Linear
Math.NumberTheory.SmoothNumbers
Math.NumberTheory.UniqueFactorisation
Math.NumberTheory.Zeta
Math.NumberTheory.Zeta.Dirichlet
Math.NumberTheory.Zeta.Riemann
other-modules:
Math.NumberTheory.ArithmeticFunctions.Class
Math.NumberTheory.ArithmeticFunctions.SieveBlock.Unboxed
Math.NumberTheory.ArithmeticFunctions.Standard
Math.NumberTheory.Moduli.SqrtOld
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.Testing.Certificates.Internal
Math.NumberTheory.Primes.Testing.Certified
Math.NumberTheory.Primes.Testing.Probabilistic
Math.NumberTheory.Primes.Types
Math.NumberTheory.Recurrencies.Pentagonal
Math.NumberTheory.Unsafe
Math.NumberTheory.Utils
Math.NumberTheory.Utils.FromIntegral
Math.NumberTheory.Utils.Hyperbola
Math.NumberTheory.Zeta.Utils
default-language: Haskell2010
ghc-options: -O2 -Wall
if flag(check-bounds)
cpp-options: -DCheckBounds
test-suite spec
build-depends:
base >=4.6 && <5,
arithmoi,
containers,
exact-pi >=0.4.1.1,
integer-gmp <1.1,
QuickCheck >=2.10 && <2.13,
smallcheck >=1.1.3 && <1.2,
tasty >=0.10 && <1.2,
tasty-hunit >=0.9 && <0.11,
tasty-quickcheck >=0.9 && <0.11,
tasty-smallcheck >=0.8 && <0.9,
transformers >=0.5,
vector
if impl(ghc <8.0)
build-depends:
semigroups >=0.8
other-modules:
Math.NumberTheory.ArithmeticFunctionsTests
Math.NumberTheory.ArithmeticFunctions.MertensTests
Math.NumberTheory.ArithmeticFunctions.SieveBlockTests
Math.NumberTheory.CurvesTests
Math.NumberTheory.EisensteinIntegersTests
Math.NumberTheory.GaussianIntegersTests
Math.NumberTheory.GCDTests
Math.NumberTheory.Moduli.ChineseTests
Math.NumberTheory.Moduli.DiscreteLogarithmTests
Math.NumberTheory.Moduli.ClassTests
Math.NumberTheory.Moduli.EquationsTests
Math.NumberTheory.Moduli.JacobiTests
Math.NumberTheory.Moduli.PrimitiveRootTests
Math.NumberTheory.Moduli.SqrtTests
Math.NumberTheory.MoebiusInversion.IntTests
Math.NumberTheory.MoebiusInversionTests
Math.NumberTheory.Powers.CubesTests
Math.NumberTheory.Powers.FourthTests
Math.NumberTheory.Powers.GeneralTests
Math.NumberTheory.Powers.ModularTests
Math.NumberTheory.Powers.SquaresTests
Math.NumberTheory.PrefactoredTests
Math.NumberTheory.Primes.CountingTests
Math.NumberTheory.Primes.FactorisationTests
Math.NumberTheory.Primes.SieveTests
Math.NumberTheory.Primes.TestingTests
Math.NumberTheory.PrimesTests
Math.NumberTheory.Recurrencies.PentagonalTests
Math.NumberTheory.Recurrencies.BilinearTests
Math.NumberTheory.Recurrencies.LinearTests
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
benchmark criterion
build-depends:
base,
arithmoi,
containers,
deepseq,
gauge,
integer-logarithms,
random,
vector
if impl(ghc <8.0)
build-depends:
semigroups >=0.8
other-modules:
Math.NumberTheory.ArithmeticFunctionsBench
Math.NumberTheory.DiscreteLogarithmBench
Math.NumberTheory.EisensteinIntegersBench
Math.NumberTheory.GaussianIntegersBench
Math.NumberTheory.GCDBench
Math.NumberTheory.JacobiBench
Math.NumberTheory.MertensBench
Math.NumberTheory.PowersBench
Math.NumberTheory.PrimesBench
Math.NumberTheory.PrimitiveRootsBench
Math.NumberTheory.RecurrenciesBench
Math.NumberTheory.SieveBlockBench
Math.NumberTheory.SmoothNumbersBench
type: exitcode-stdio-1.0
main-is: Bench.hs
default-language: Haskell2010
hs-source-dirs: benchmark