arithmoi-0.6.0.0: arithmoi.cabal
name : arithmoi
version : 0.6.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, GHC==8.2.1
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.Curves.Montgomery
Math.NumberTheory.Moduli
Math.NumberTheory.Moduli.Chinese
Math.NumberTheory.Moduli.Class
Math.NumberTheory.Moduli.Jacobi
Math.NumberTheory.Moduli.Sqrt
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
GHC.TypeNats.Compat
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: arithmoi
, base >= 4.6 && < 5
, containers >= 0.5 && < 0.6
, tasty >= 0.10 && < 0.12
, tasty-smallcheck >= 0.8 && < 0.9
, tasty-quickcheck >= 0.9 && < 0.10
, tasty-hunit >= 0.9 && < 0.10
, QuickCheck >= 2.10 && < 2.11
, smallcheck >= 1.1 && < 1.2
, transformers >= 0.5
, integer-gmp < 1.1
if impl(ghc < 7.10)
build-depends : nats >= 1 && <1.2
if impl(ghc < 8.0)
build-depends : semigroups >= 0.8
other-modules : Math.NumberTheory.ArithmeticFunctionsTests
, Math.NumberTheory.CurvesTests
, Math.NumberTheory.GaussianIntegersTests
, Math.NumberTheory.GCDTests
, Math.NumberTheory.GCD.LowLevelTests
, Math.NumberTheory.Recurrencies.LinearTests
, Math.NumberTheory.Recurrencies.BilinearTests
, Math.NumberTheory.Moduli.ChineseTests
, Math.NumberTheory.Moduli.ClassTests
, Math.NumberTheory.Moduli.JacobiTests
, Math.NumberTheory.Moduli.SqrtTests
, 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.MyCompose
, Math.NumberTheory.UniqueFactorisationTests
, Math.NumberTheory.ZetaTests