- Add function
timesRing
. - Tweak inlining pragmas.
- Change definition of
Data.Euclidean.degree
to coincide with the degree of polynomial. - Implement multivariate polynomials (usual and Laurent).
- Reimplement sparse univariate polynomials as a special case of multivariate ones.
- Speed up
gcd
calculations for all flavours of polynomials. - Decomission
PolyOverField
andLaurentOverField
: they do not improve performance any more. - Add function
quotRemFractional
. - Add an experimental implementation of the discrete Fourier transform.
- Add conversion functions between dense and sparse polynomials.
- Implement Laurent polynomials.
- Implement orthogonal polynomials.
- Decomission extended GCD, use
Data.Euclidean.gcdExt
. - Decomission
PolyOverFractional
, usePolyOverField
.
- Add function
subst
. - Fix compatibility issues.
- Add
NFData
instance. - Implement extended GCD.
- Rename
PolyOverFractional
toPolyOverField
. - Add
integral
withSemiring
-based interface.
- Implement Karatsuba multiplication.
- Add
IsList
instance.
- Implement sparse polynomials.
- Add
GcdDomain
andEuclidean
instances. - Add functions
leading
,monomial
,scale
. - Remove function
constant
.
- Parametrize
Poly
by underlying vector type. - Introduce
Data.Poly.Semiring
module. - Fix a bug in
Num.(-)
. - Add functions
constant
,eval
,deriv
,integral
. - Add a handy pattern synonym
X
. - Add type synonyms
VPoly
andUPoly
. - Remove function
toPoly'
.
- Initial release.