1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
import Test.Tasty
import Test.Tasty.Ingredients.Rerun
import qualified Math.NumberTheory.EuclideanTests as Euclidean
import qualified Math.NumberTheory.Recurrences.PentagonalTests as RecurrencesPentagonal
import qualified Math.NumberTheory.Recurrences.BilinearTests as RecurrencesBilinear
import qualified Math.NumberTheory.Recurrences.LinearTests as RecurrencesLinear
import qualified Math.NumberTheory.Moduli.ChineseTests as ModuliChinese
import qualified Math.NumberTheory.Moduli.ClassTests as ModuliClass
import qualified Math.NumberTheory.Moduli.CbrtTests as ModuliCbrt
import qualified Math.NumberTheory.Moduli.DiscreteLogarithmTests as ModuliDiscreteLogarithm
import qualified Math.NumberTheory.Moduli.EquationsTests as ModuliEquations
import qualified Math.NumberTheory.Moduli.JacobiTests as ModuliJacobi
import qualified Math.NumberTheory.Moduli.PrimitiveRootTests as ModuliPrimitiveRoot
import qualified Math.NumberTheory.Moduli.SingletonTests as ModuliSingleton
import qualified Math.NumberTheory.Moduli.SqrtTests as ModuliSqrt
import qualified Math.NumberTheory.MoebiusInversionTests as MoebiusInversion
import qualified Math.NumberTheory.PrefactoredTests as Prefactored
import qualified Math.NumberTheory.PrimesTests as Primes
import qualified Math.NumberTheory.Primes.CountingTests as Counting
import qualified Math.NumberTheory.Primes.FactorisationTests as Factorisation
-- import qualified Math.NumberTheory.Primes.LinearAlgebraTests as LinearAlgebra
-- import qualified Math.NumberTheory.Primes.QuadraticSieveTests as QuadraticSieve
import qualified Math.NumberTheory.Primes.SequenceTests as Sequence
import qualified Math.NumberTheory.Primes.SieveTests as Sieve
import qualified Math.NumberTheory.Primes.TestingTests as Testing
import qualified Math.NumberTheory.EisensteinIntegersTests as Eisenstein
import qualified Math.NumberTheory.GaussianIntegersTests as Gaussian
import qualified Math.NumberTheory.ArithmeticFunctionsTests as ArithmeticFunctions
import qualified Math.NumberTheory.ArithmeticFunctions.InverseTests as Inverse
import qualified Math.NumberTheory.ArithmeticFunctions.MertensTests as Mertens
import qualified Math.NumberTheory.ArithmeticFunctions.SieveBlockTests as SieveBlock
import qualified Math.NumberTheory.UniqueFactorisationTests as UniqueFactorisation
import qualified Math.NumberTheory.CurvesTests as Curves
import qualified Math.NumberTheory.SmoothNumbersTests as SmoothNumbers
import qualified Math.NumberTheory.Zeta.RiemannTests as Riemann
import qualified Math.NumberTheory.Zeta.DirichletTests as Dirichlet
import qualified Math.NumberTheory.DirichletCharactersTests as DirichletChar
import qualified Math.NumberTheory.RootsOfUnityTests as RootsOfUnity
import qualified Math.NumberTheory.DiophantineTests as Diophantine
main :: IO ()
main = defaultMainWithRerun tests
tests :: TestTree
tests = testGroup "All"
[ Euclidean.testSuite
, testGroup "Recurrences"
[ RecurrencesPentagonal.testSuite
, RecurrencesLinear.testSuite
, RecurrencesBilinear.testSuite
]
, testGroup "Moduli"
[ ModuliChinese.testSuite
, ModuliClass.testSuite
, ModuliCbrt.testSuite
, ModuliDiscreteLogarithm.testSuite
, ModuliEquations.testSuite
, ModuliJacobi.testSuite
, ModuliPrimitiveRoot.testSuite
, ModuliSingleton.testSuite
, ModuliSqrt.testSuite
]
, MoebiusInversion.testSuite
, Prefactored.testSuite
, testGroup "Primes"
[ Primes.testSuite
, Counting.testSuite
, Factorisation.testSuite
-- , LinearAlgebra.testSuite
-- , QuadraticSieve.testSuite
, Sequence.testSuite
, Sieve.testSuite
, Testing.testSuite
]
, Eisenstein.testSuite
, Gaussian.testSuite
, testGroup "ArithmeticFunctions"
[ ArithmeticFunctions.testSuite
, Inverse.testSuite
, Mertens.testSuite
, SieveBlock.testSuite
]
, UniqueFactorisation.testSuite
, Curves.testSuite
, SmoothNumbers.testSuite
, Diophantine.testSuite
, testGroup "Zeta"
[ Riemann.testSuite
, Dirichlet.testSuite
]
, DirichletChar.testSuite
, RootsOfUnity.testSuite
]
|