arithmoi v0.10.0.0 Release Notes
-
➕ Added
- The machinery of cyclic groups, primitive roots and discrete logarithms has been completely overhauled and rewritten using singleton types (#169).
There is also a new singleton type, linking a type-level modulo with a term-level factorisation. It allows both to have a nicely-typed API of
Mod m
and avoid repeating factorisations (#169).Refer to a brand new module
Math.NumberTheory.Moduli.Singleton
for details.➕ Add a new function
factorBack
.➕ Add
Ord SomeMod
instance (#165).➕ Add
Semiring
andRing
instances for Eisenstein and Gaussian integers.
🔄 Changed
Embrace the new
Semiring -> GcdDomain -> Euclidean
hierarchy of classes, refiningNum
andIntegral
constraints.Reshuffle exports from
Math.NumberTheory.Zeta
, do not advertise its submodules as available to import.➕ Add a proxy argument storing vector's flavor to
Math.NumberTheory.MoebiusInversion.{generalInversion,totientSum}
.solveQuadratic
andsqrtsMod
require an additional argument: a singleton linking a type-level modulo with a term-level factorisation (#169).Generalize
sieveBlock
to handle any flavor ofVector
(#164).
🗄 Deprecated
🗄 Deprecate
Math.NumberTheory.Primes.Factorisation
, useMath.NumberTheory.Primes.factorise
instead. DeprecateMath.NumberTheory.Primes.Sieve
, useEnum
instance instead.🗄 Deprecate
Math.NumberTheory.Primes.Factorisation.Certified
andMath.NumberTheory.Primes.Testing.Certificates
.🗄 Deprecate
Math.NumberTheory.MoebiusInversion.Int
.🗄 Deprecate
Math.NumberTheory.SmoothNumbers.{fromSet,fromSmoothUpperBound}
. UseMath.NumberTheory.SmoothNumbers.fromList
instead.🗄 Deprecate
Math.NumberTheory.SmoothNumbers.smoothOverInRange
in favor ofsmoothOver
andMath.NumberTheory.SmoothNumbers.smoothOverInRange
in favor ofisSmooth
.
✂ Removed
📦 Move
Euclidean
type class tosemirings
package (#168).✂ Remove deprecated earlier
Math.NumberTheory.Recurrencies.*
andMath.NumberTheory.UniqueFactorisation
modules. UseMath.NumberTheory.Recurrences.*
andMath.NumberTheory.Primes
instead.✂ Remove deprecated earlier an old interface of
Math.NumberTheory.Moduli.Sqrt
.